![]() |
|
|
![]()
|
|
| kovalenko123 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 229 Регистрация: 12.5.2008 Репутация: нет Всего: 1 |
Привет всем!!!
база Microsoft Access технология Ado , delphi Ребят помогите отобрать случайным образом 40 записей в базе 900 есть такой код Query.Close; Query.SQL.Clear; Query.SQL.Add('SELECT TOP 40 Вопросы.Номер, Вопросы.Вопрос, Вопросы.Вар1, Вопросы.Вар2, Вопросы.Вар3, Вопросы.Вар4, Вопросы.Вар5, Вопросы.Img, Вопросы.Прав, Вопросы.Комент, Вопросы.Код'); Query.SQL.Add('FROM Вопросы'); Query.SQL.Add('ORDER BY RND(Rnd)'); Query.Open; где Rnd это счетчик в таблице код рабочий но ужасно медленный может кто нить подскажет какое нибудь другое решение ? и еще вопрос при работе проги с этим запросом у оперативы она ест 150 метров )) что можно предпринять? |
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 4 Всего: 146 |
может проще сделать выборку только Rnd поля ,
в дельфи выбрать случаныйм образом 40 записей, и послать запрос используя WHERE Rnd=..... и перечислить все 40 rnd ? -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
а индексы есть? Добавлено через 43 секунды
ну....... нам-то откель знать про архитектуру твоего приложения??? Добавлено через 2 минуты и 26 секунд Может у тебя НД одновременно открытых дофига, может ты тянешь сразу мульён записей на клиента или записи слишком тяжелые, может у тебя много форм сразу создаётся (создавай по необходимости и сразу уничтожай при ненадобности), может у тебя комонент много очень на формах, а если ещё и юникодная прога.... |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 35 Всего: 130 |
Только ещё добавить проверку, не выпадало ли уже данное число. Это сообщение отредактировал(а) Данкинг - 2.7.2009, 15:55 -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| kovalenko123 |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 229 Регистрация: 12.5.2008 Репутация: нет Всего: 1 |
Akella
не индексов нет. Все дело в базе потому как када ставлю на query активе в фальш то прога весит 16 метров как тока труе то все 150 из этого думаю выйти след образов сначала законять в фильтр необходимые данные потом активировать чтоб в датасете изначально были не все данные а тока те кот надо отобразить... Romikgy
не может это проще но не подойдет я думал может есть в скл еще какие нить фичи для этого... Данкинг |
||||
|
|||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
||||
|
||||
| kovalenko123 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 229 Регистрация: 12.5.2008 Репутация: нет Всего: 1 |
Akella
Это блоб поле с изображениями...
может быть, но мне ни как не обойтись без них (( |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
А что, сразу все картинки нужно тянуть на клиента? Может можно по одной?
|
|||
|
||||
| kovalenko123 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 229 Регистрация: 12.5.2008 Репутация: нет Всего: 1 |
Это же по сути запись в базе.
У меня 2 таблици 1 это типа раздел а вторая вопросы к разделу соеденены 1 ко многим так вот пользователь выбирает сначала раздел потом отвечает на вопросы. поэтому профильтровать 2 таблицу я врялти смогу (чтобы тянуть записи по 1) А вообше картинки много ресурсов требуют в Microsoft Access ??? |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
Дело не в акцессе, как ты не поймёшь? Картинка(и) что, места в памяти не занимает?
|
|||
|
||||
| kovalenko123 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 229 Регистрация: 12.5.2008 Репутация: нет Всего: 1 |
ммм просто разные мысли есть.
Но знаю сто проц что прога занимает 150 метров тока после активации запроса (на соединение 2 таблиц). В общем идея с фильтрами прокатила у меня теперь в базе тока что что пользователь выбрал остальное все профильтрвываеться. |
|||
|
||||
| kovalenko123 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 229 Регистрация: 12.5.2008 Репутация: нет Всего: 1 |
Всем спасибо, добавил фильтр, прога полетела
|
|||
|
||||
![]()
|
| Правила форума "Delphi: Базы данных и репортинг" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |