Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
07.02.2012, 14:46
|
|||
---|---|---|---|
|
|||
Запрос к большой таблице |
|||
#18+
Добрый день, коллеги. Есть таблица с большим количеством записей и к которой выполняются запросы типа Select * from myTable Есть переменная, содержащая в себе количество строк, которое нужно отобразить. Как реализовать следующую логику: если количество возвращаемых строк меньше заданного в переменной количества, то отобразить все строки, иначе - спросить выводить все или остановиться. Задача в том, чтоб не вытягивать все строки из таблицы на клиента. База - Терадата. Коннектчусь через ODBC. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
19.03.2012, 12:46
|
|||
---|---|---|---|
Запрос к большой таблице |
|||
#18+
Попробуйте такой запрос: SELECT TOP(100) * FROM [your_table] ORDER BY [some_field] - так будет извлечено первые 100 записей. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
19.03.2012, 12:49
|
|||
---|---|---|---|
Запрос к большой таблице |
|||
#18+
Если у Вы используете MS SQL Server 2008, то можете использовать переменную прямо на SQL-е так: TOP (record_count) если версия ниже или не MS SQL, то сделайте на уровне ADO.NET так: string.Format("SELECT TOP({0} * FROM [your_table] ORDER BY [some_field]", recordCount); ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=17&mobile=1&tid=1350417]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
59ms |
get topic data: |
35ms |
get forum data: |
2ms |
get page messages: |
150ms |
get tp. blocked users: |
1ms |
others: | 10ms |
total: | 282ms |
0 / 0 |