
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
14.11.2002, 16:23:20
|
|||
|---|---|---|---|
А как такое сделать? И вообще, возможно ли? (экспертам) |
|||
|
#18+
Суть вопроса: Когда делаем запрос, ну типа SELECT <somthing> FROM T1 WHERE F=@VAR А таблица офигительно большая, то в результате на серваке строится результирующая таблица, и если записей ~1000000 то процесс может затянуться, вопрос: Как написать запрос так, чтобы возвращалость ток первые ,...ну 50 записей, а вся результирующая таблица не строилась? В DB2, например есть такая конструкция - OPTIMIZE FOR N ROWS.. а как в T-SQL выходят из такого положения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.11.2002, 16:30:58
|
|||
|---|---|---|---|
А как такое сделать? И вообще, возможно ли? (экспертам) |
|||
|
#18+
select top 50 ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.11.2002, 16:32:58
|
|||
|---|---|---|---|
А как такое сделать? И вообще, возможно ли? (экспертам) |
|||
|
#18+
вот пример Код: plaintext 1. 2. ну а если Вам нужно выбрать с 50 по 100, то на таблице ~1000000 это уже будет тяжелее, т.к. запрос изменится Код: plaintext 1. 2. 3. так что, как мне кажется, лучше подумать зачем вообще выборка ~1000000 записей, может ограничение какое поставить... и отбирать по where ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.11.2002, 16:34:27
|
|||
|---|---|---|---|
А как такое сделать? И вообще, возможно ли? (экспертам) |
|||
|
#18+
/topic/15625 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.11.2002, 17:49:46
|
|||
|---|---|---|---|
А как такое сделать? И вообще, возможно ли? (экспертам) |
|||
|
#18+
А оператора LIMIT в MSSQL нету? Например в MySQL с 50 по 100 запись выглядит так: SELECT * FROM T1 LIMIT 50, 50 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.11.2002, 17:52:13
|
|||
|---|---|---|---|
А как такое сделать? И вообще, возможно ли? (экспертам) |
|||
|
#18+
нет, и строго говоря по теории и не должно быть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.11.2002, 17:52:40
|
|||
|---|---|---|---|
А как такое сделать? И вообще, возможно ли? (экспертам) |
|||
|
#18+
можно так: select * from table option (fast 50) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.11.2002, 19:07:06
|
|||
|---|---|---|---|
А как такое сделать? И вообще, возможно ли? (экспертам) |
|||
|
#18+
SET ROWCOUNT 50 Select * from T1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.11.2002, 19:52:26
|
|||
|---|---|---|---|
А как такое сделать? И вообще, возможно ли? (экспертам) |
|||
|
#18+
если по сабжу то ответ VVG_ единсвенно правильный... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
15.11.2002, 09:50:02
|
|||
|---|---|---|---|
А как такое сделать? И вообще, возможно ли? (экспертам) |
|||
|
#18+
fima нет, и строго говоря по теории и не должно быть. И почему?! :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=46&mobile=1&tid=1818793]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
72ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
28ms |
get tp. blocked users: |
1ms |
| others: | 229ms |
| total: | 371ms |

| 0 / 0 |
