Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
li0_0_0 Member Откуда: Сообщений: 4 |
Всем привет! Например есть таблица CREATE TABLE dbo.table1 ( id INT IDENTITY ,col1 VARCHAR(20) NOT NULL ,col2 DATE NOT NULL ,col3 INT NOT NULL ,CONSTRAINT PK_table1_id PRIMARY KEY CLUSTERED (id) ) В ней 10К записей. Небольшой программкой на Delphi принимаю данные запросом SELECT * FROM dbo.table1 ORDER BY col3 DESC,col2 DESC,col1 DESC напрямую, без ADO. Запрос тянет все данные из таблицы. С увеличением данных ожидаемо растет время получение данных. Как можно сделать симуляцию постраничности? разделить на блоки. Ведь я не могу использовать конструкцию WHERE ID >= X AND ID <= Y где например Х=50, а Y=80 из-за определенной сортировки. Есть вариант, создавать отдельную таблицу и помещать туда отсортированные записи, где col2 > xx-xx-xx Какие можно еще решить вопрос порции данных с определенной сортировкой? |
9 авг 17, 19:07 [20711808] Ответить | Цитировать Сообщить модератору |
Гавриленко Сергей Алексеевич Member Откуда: Moscow Сообщений: 37155 |
https://www.sql.ru/faq/faq_topic.aspx?fid=105 |
9 авг 17, 19:11 [20711813] Ответить | Цитировать Сообщить модератору |
li0_0_0 Member Откуда: Сообщений: 4 |
Спасибо! |
9 авг 17, 22:57 [20712213] Ответить | Цитировать Сообщить модератору |
dsfgs
Guest |
sql 2012 OFFSET FETCHSELECT DepartmentID, Name, GroupName FROM HumanResources.Department ORDER BY DepartmentID OFFSET 10 ROWS FETCH NEXT 10 ROWS ONLY; |
10 авг 17, 23:53 [20715019] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |