Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.08.27;
Скачать: [xml.tar.bz2];

Вниз

Навигация по НД   Найти похожие ветки 

 
RomanH ©   (2006-08-01 17:36) [0]

Мастера подскажите как сделать.Имеется таблица 1 400 000 записей.
Проиндексирована по первичному ключу.
Процедура Locate("tovar_id",10000,[]); работает очень медленно.
Может существуют другие методы навигации по НД
(НД -IBDataSet)


 
StriderMan ©   (2006-08-01 17:39) [1]

Locate по такой огромной таблице это ужасно.


> (НД -IBDataSet)

переделать на IBQuery и делать все запросом


 
Ega23 ©   (2006-08-01 19:07) [2]

Вот. Начинается. А зачем волочь ВСЕ 1400000 записей на клиент? Неужели нельзя отсортировать на стороне сервера?


 
Desdechado ©   (2006-08-01 19:14) [3]

> отсортировать на стороне сервера
Наверно, отобрать/выбрать.
SELECT * FROM tabl WHERE id=100
это вместо твоего Locate


 
RomanH ©   (2006-08-04 10:53) [4]

Мастера, поясню задачу.(Ни как не могу сообразить как SQL использовать в данном случае.):
Имеется таблица Category(Категория товара) и таблица TTovar(1 400 000 записей)
Category(IBDataSet(select * from category))-отображается в KADaoDBTreeView.
Tovar(IBQuery (select * from tovar where tovar_category_id=:category_id))-
отображается DBGride.
Так вот в обработчике события Category.AfterScroll я обновляю Tovar.
Где выбираются товары выбранной категории.То есть колличество записей уменьшается.
Задача  В Edit1 вводим номер производителя товара.Нажимаем Button.
После чего в том же DBGrid"e курсор должен передвинуться на найденную или похожую запись и отобразить остальные записи.


 
Ega23 ©   (2006-08-04 11:06) [5]


> Так вот в обработчике события Category.AfterScroll я обновляю
> Tovar.


Зачем? Про Master-Detail никогда не слышал?

Вообще-то странно предположить такой реестр товаров...
Что это, если не секрет?


 
RomanH ©   (2006-08-04 11:20) [6]


> Ega23 ©

Это не секрет.Справочник по автомобильным зап.частям  и комплектующим.
По этому когда мы выбираем Масло клиенту не должны высвечиваться стартеры и аммортизаторы.Подскажите пожайлусто как решить задачу(Вы мне не раз уже помогали).


 
Ega23 ©   (2006-08-04 11:31) [7]

Ну, в принципе, ты уже всё решил. Выбрал категорию - подзапрос в базу по товарам данной категории.
Просто категории надо более детально прорабатывать.


 
Sergey13 ©   (2006-08-04 13:14) [8]

> [4] RomanH ©   (04.08.06 10:53)

Добавь еще табличку "Производители", оформи ее на форме аналогично Категории, и в запрос к Товару добавь второй параметр (возможно с реакцией запроса на NULL в этом параметре).


 
RomanH ©   (2006-08-04 16:32) [9]


> Sergey13 ©

Да можно выбирать еще и по производителям товара.Записи клиенту уменьшаются.Но и по 100 000 записям Locate не уместен.Как мне производить навигацию по НД вводя код производителя.


 
Desdechado ©   (2006-08-04 16:37) [10]

> Но и по 100 000 записям Locate не уместен
Вводи еще дополнительные ограничения, которые могут послужить фильтром для уменьшения кол-ва показываемых позиций.
Например, ценовой диапазон, наличие на складе, срок гарантии, материал... Тебе виднее по предметной области.


 
Sergey13 ©   (2006-08-04 16:37) [11]

> [9] RomanH ©   (04.08.06 16:32)

Сделай категории более избирательными, тем более, что они у тебя деревянные. Неужели у тебя может быть 100000 разных карбюраторов?


 
Ega23 ©   (2006-08-04 16:42) [12]

Иерархическую структуру более детализируй. Оптимально - 20-100 записей.


 
Sergey13 ©   (2006-08-04 16:49) [13]

Кстати производителя вполне можно добавить к иерархии категорий последним уровнем например.


 
Sergey13 ©   (2006-08-04 16:56) [14]

Или вообще постороить несколько иерархой с разными начальными условиями и принципами почкования. Интересная задача, кстати.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.08.27;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.04 c
2-1155109317
tytus
2006-08-09 11:41
2006.08.27
Как нормально рисовать на панели?


4-1146598889
DimaDukat
2006-05-02 23:41
2006.08.27
команда в WinAPI


15-1153994677
NeyroSpace
2006-07-27 14:04
2006.08.27
Можно ли вести автоматический подсчет количесва компиляций?


3-1150731490
rar
2006-06-19 19:38
2006.08.27
Хранимая процеддура


2-1154962343
ArtemESC
2006-08-07 18:52
2006.08.27
Не найдеться ли у кого функция,





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский