Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Что делать с большими таблицами???
|
|||
|---|---|---|---|
|
#18+
Доброго всем времени суток! У меня есть таблицы 100тыс., 50тыс., 28тыс., причем это все справочники, т.е юзер должен из них выбирать, значит они должны быть доступны после загрузки формы. Так вот DataAdapter.Fill по этим таблицам идет о-очень долго, порядка 10-15мин. Что делать??? Может кто сталкивался, подскажите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2004, 09:06 |
|
||
|
Что делать с большими таблицами???
|
|||
|---|---|---|---|
|
#18+
Я как-то делал подобное. В поле юзер начинает колотить что ему надо, и как только он вбивает третий символ открывается справочник с запросом like... моим юзерам понравилось ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2004, 09:50 |
|
||
|
Что делать с большими таблицами???
|
|||
|---|---|---|---|
|
#18+
alex3399Доброго всем времени суток! У меня есть таблицы 100тыс., 50тыс., 28тыс., причем это все справочники, т.е юзер должен из них выбирать, значит они должны быть доступны после загрузки формы. Так вот DataAdapter.Fill по этим таблицам идет о-очень долго, порядка 10-15мин. Что делать??? Может кто сталкивался, подскажите. не думаю, что лузеру нужно видеть все 100тыс. строк, что б выбрать только одну... можна список ограничивать либо обязательным условием(where) либо/и орагнизовывать постраничное отображение (как в инете) почитать об этом можна здесь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2004, 11:49 |
|
||
|
Что делать с большими таблицами???
|
|||
|---|---|---|---|
|
#18+
Либо организоваваем вывод формы для выбора, которая берёт первые N записей из справочника и имеет текстовое поле с вводом - дальше происходит запрос с лайком - практически так, как написал Дудкин. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2004, 15:59 |
|
||
|
Что делать с большими таблицами???
|
|||
|---|---|---|---|
|
#18+
HummerЛибо организоваваем вывод формы для выбора, которая берёт первые N записей из справочника и имеет текстовое поле с вводом - дальше происходит запрос с лайком - практически так, как написал Дудкин. ну так это тоже самое, что и предлагалось - выводить не все а некоторую часть с возможностю просмотреть следующие n строк ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2004, 16:59 |
|
||
|
Что делать с большими таблицами???
|
|||
|---|---|---|---|
|
#18+
Вобщем я так думал сделать, но это хорошо пока не нужно делать сортировки. Скажем есть справочник материалов, сортируем его по наименованию или коду ОКП. Для поиска по первым символам подходит LIKE, но тогда как определить, с учетом сортировки, какая запись находится перед первой для того чтобы можно было осуществлять навигацию? Можно конечно создать несколько вьюшек с нужными сортировками и переключаться между ними по необходимости. Но как-то все это нагоняет тоску... Может поискать другую среду для реализации этой задачи? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2004, 06:34 |
|
||
|
Что делать с большими таблицами???
|
|||
|---|---|---|---|
|
#18+
Конечно, мне как пользователю, тоже стало бы грустно, если бы я не увидел все 100 тыс записей из всего справочника, запуская его. Или, 50 тыс. вводя в поиск первые два-три символа одного значения . Идея совсем глупая, и не звучала в этом топике ниразу - сделай максимальное количество полей для выборки по запросу и заставь пользователя заполнять их (а потом кнопочку с выполнением запроса). Может по запросу нибудет ни одной строки??? Или всего, например, пять... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2004, 10:45 |
|
||
|
Что делать с большими таблицами???
|
|||
|---|---|---|---|
|
#18+
Может поискать другую среду для реализации этой задачи? В любой среде показывать 100 тысяч записей клиенту - плохо. Поддерживаю вариант с максимально точным поиском Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2004, 11:14 |
|
||
|
Что делать с большими таблицами???
|
|||
|---|---|---|---|
|
#18+
Я так понял, что данные нужно извлечь только для чтения. Поэтому используй DataReader, который быстрее в ХХ раз. Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2004, 11:36 |
|
||
|
Что делать с большими таблицами???
|
|||
|---|---|---|---|
|
#18+
Спасибо всем. Пришлось все-таки писать страничную обработку(. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2004, 07:00 |
|
||
|
Что делать с большими таблицами???
|
|||
|---|---|---|---|
|
#18+
Лично мне бы, если я был бы юзером, было бы лениво перелистывая странички искать нужную запись. Но это имхо... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2004, 08:33 |
|
||
|
Что делать с большими таблицами???
|
|||
|---|---|---|---|
|
#18+
Есть подозрение, что объективными причинами, по которым автор отказался от выполнения точного запроса может быть сложность с его написанием. По этому привожу пример (уточню - это всего лишь пример, то есть возможный вариант, а не руководство к действию ): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. P.S. Извините, если что не так - просто поумничать захотелось ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2004, 09:32 |
|
||
|
Что делать с большими таблицами???
|
|||
|---|---|---|---|
|
#18+
Еще предложу такой вариант выборки. Т.к. для большущего справочника это наверное актуально и если искать только по начальным буквам то легко можно не найти нужную запись и ввести повторную, со всеми вытекающими последствиями... Создать специализированную форму для поиска по приближенному написанию, которая учитывала бы ошибки ввода. (пропуск букв, лишние буквы, перестановка, похожие анг-рус, ноль вместо буквы о, похожее звучание, неударные гласные и тд.) Например вводим для поиска трест Выводится примерно такой список ООО третс "Дорожник" Трест "Дружба" Ищем Иванов Получаем Ифанов Иваноф Ианов и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2004, 11:11 |
|
||
|
Что делать с большими таблицами???
|
|||
|---|---|---|---|
|
#18+
На самом деле, я сталкивался с такими таблицами (ну, может поменьше), и вместо текстовых боксов ставил комбо (без вылетающего списка (DropDownStyle=Simple - внешне похож будет на текст бокс) + автоподстановка). К чему это я ... а, вспомнил, набивал я его значениями из столбца таблицы ридером - довольно живо получалось - так вот по первым символам введённым пользователем срабатывала автоподстановка и становилось видно - есть такое значение в таблице или смысл забивать его в критерий поиска напрочь отсутствует... Но, это моё имхо... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2004, 14:36 |
|
||
|
Что делать с большими таблицами???
|
|||
|---|---|---|---|
|
#18+
я хочу немного пояснить: это справочник Материалов, он достался в наследство от старой системы, практически никак не структурирован, там есть код, наименование, и код ОКП. По сути это просто большой набор г..., но для совместимости он нужен. У меня есть такой класс универсальный, для работы с любыми справочниками, даешь ему тайблстайл, датасет и всякие мелочи, а он умеет искать по любой колонке и возвращает то что выбрал юзер, вот мне и хотелось сохранить универсальность, но ... А спрашивал я в надежде на то, что может у датаадатера или еще где-то есть что-то вроде подкачки данных по мере надобности, ведь тот же интерпрайз менеджер у SQL таблицу подкачивает по мере ее пролистывания. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2004, 12:16 |
|
||
|
Что делать с большими таблицами???
|
|||
|---|---|---|---|
|
#18+
А спрашивал я в надежде на то, что может у датаадатера или еще где-то есть что-то вроде подкачки данных по мере надобности, ведь тот же интерпрайз менеджер у SQL таблицу подкачивает по мере ее пролистывания. К сожалению, а может и к счастью DataAdapter не умеет реализовывать правильно постраничную выборку. Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2004, 12:27 |
|
||
|
Что делать с большими таблицами???
|
|||
|---|---|---|---|
|
#18+
мелкософт идет в сторону так называемого толстого клиента, что в переводе означает держать все данные на клиенте не держа постоянного соединения с БД (чего требовалось для старенького ADO) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2004, 12:58 |
|
||
|
Что делать с большими таблицами???
|
|||
|---|---|---|---|
|
#18+
Лиман Артёммелкософт идет в сторону так называемого толстого клиента, что в переводе означает держать все данные на клиенте не держа постоянного соединения с БД (чего требовалось для старенького ADO) строго говоря и в "стареньком ADO" никто не запрещал создавать отсоединеные рекордсеты. Насчет куда идет microsoft - тоже спорный вопрос. По subj - я поддерживаю вариант с поиском по (например) like. Хоть это и создает большое количество round trip-ов на сервер, зато относительно легко реализуемо и надежно работает. А общий объем перетягиваемых по сети данных может быть и меньше, чем при постраничной выборке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2004, 13:27 |
|
||
|
|

start [/forum/topic.php?fid=20&tid=1437809]: |
0ms |
get settings: |
5ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
51ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
27ms |
get tp. blocked users: |
1ms |
| others: | 242ms |
| total: | 345ms |

| 0 / 0 |
