Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.09.2012, 20:23   #21
kelod
Пользователь
 
Регистрация: 05.07.2010
Сообщений: 33
По умолчанию

дать больше информации? куда больше?? есть таблица в аксессе, есть текстовое поле, нужно из делфы послать запрос на выборку случайной записи, всё, больше ничего нет
kelod вне форума Ответить с цитированием
Старый 20.09.2012, 20:26   #22
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
записи то иногда удаляют и получаются дыры и тогда эти способы не подходят все
Для k>= подходят.
Цитата:
всё, больше ничего нет
Без id можете не мучаться и тянуть всю таблицу в память и там рандомить.
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 20.09.2012, 20:33   #23
kelod
Пользователь
 
Регистрация: 05.07.2010
Сообщений: 33
Смех

Цитата:
Сообщение от Аватар Посмотреть сообщение
Без id можете не мучаться и тянуть всю таблицу в память и там рандомить.
да так сейчас и работает это, но скорость конечно ...
kelod вне форума Ответить с цитированием
Старый 20.09.2012, 20:37   #24
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
да так сейчас и работает это, но скорость конечно ...
Так если она вся в памяти, то скорость случайной выборки должна быть хорошая. Определяя случайно, как вариант, номер для RecNo. Соблюдая осторжность при работе с ним
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 20.09.2012, 21:11   #25
kelod
Пользователь
 
Регистрация: 05.07.2010
Сообщений: 33
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Так если она вся в памяти, то скорость случайной выборки должна быть хорошая. Определяя случайно, как вариант, номер для RecNo. Соблюдая осторжность при работе с ним
скорость выборки отличная, скорость запроса некуда годная(
kelod вне форума Ответить с цитированием
Старый 20.09.2012, 21:25   #26
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
скорость выборки отличная, скорость запроса некуда годная(
Это значит только одно - нерационально спроектирована структура бд.
ИМХО далее будут только грабли и муки пользователей.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.09.2012, 22:58   #27
kelod
Пользователь
 
Регистрация: 05.07.2010
Сообщений: 33
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Это значит только одно - нерационально спроектирована структура бд.
ИМХО далее будут только грабли и муки пользователей.
ну база не моя, а менять там ничего не хотят, вот и проблемы поэтому
kelod вне форума Ответить с цитированием
Старый 21.09.2012, 07:35   #28
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
а менять там ничего не хотят
Тогда шансов маловато.
Я бы выбрал стратегию изначально при запуске программы загружать этот набор записей в некий динмассив и держать его в памяти на всем протяжении работы.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 21.09.2012, 09:17   #29
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию

Какая-то надуманная проблема...
Что значит "не хотят менять"? Добавление уникального поля в таблицу является таким глобальным изменением, что хозяин базы считает это недопустимым? Вот и объясни ему, что таблицу без уникального поля мог создать только полный ламер.

Думаешь, запросы, типа (MySQL)
Код:
select ... from ... limit 999999,1
или Firebird
Код:
select first 1 skip 999999 from ...
будут работать очень быстро? Еще как записи перебираться будут.
Уж, лучше как Stilet написал загружать сразу весь набор в какую-то табличку в памяти и с ней работать.
_SERGEYX_ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
поиск записей (поле со списком) Megatron1 Microsoft Office Access 1 13.02.2012 12:06
Поиск в поле со списком Glender Microsoft Office Access 1 06.02.2012 11:14
Не могу сделать поле поиск в 2010 Sagdas Microsoft Office Access 2 08.12.2010 20:01
Поиск записи в поле со списком Swatch Microsoft Office Access 1 23.12.2009 19:09
Поиск в поле Memo omi БД в Delphi 6 01.03.2007 18:39