![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
быстрее ли SQL чем стандартный перебор всей таблицы
Relaxxx © (2003-10-13 18:12:00)
Мастера вот такой вопрос
Есть например таблица с 150 000 записей. нужно например выбрать все записи где дата дольше ДАТА1 и меньше ДАТА2. Мне тут утверждают (помоему это глупо), что если я например напишу на Делфи этот запрос через БДЕ используя компонент Query1, а например другой чел сделает в VisualC++ таким образом получить доступ к таблице используя ODBC или DAO и потом пройля в цикле всю таблицу и проверяя удовлетворяет ли данная запись условию, если да то отобразить в таблице.
Так вот чей метод быстрее, помоему с помощью SQL запроса будет раз 20 быстрее, а проверить сейчас нет времени
Sergey13 (2003-10-14 09:01:00) [21]
Если присовокупить индекс к запросу, то однозначно быстрее. Если без индекса, то нужно мерять (для локальной БД), но SQL все таки победит, ИМХО. Для серверной БД, SQL однозначно шустрее.
Е-Моё имя (2003-10-14 08:57:00) [22]
например если движок кривой? ;))
Reindeer Moss Eater (2003-10-14 08:52:00) [23]
Не в любом случае.
Е-Моё имя (2003-10-14 01:38:00) [24]
имхо SQL движок должен быстрее делать в любом случае
NikB (2003-10-14 01:32:00) [25]
Mojno i ne ponial vopros, no v vopros ne govoritsa o client/server, a esli rech idet ne o client/server, a o local"noi comp - to na Delhi toje ne budut problemi:
"получить доступ к таблице используя !!!BDE!!! и потом пройля в цикле всю таблицу и проверяя удовлетворяет ли данная запись условию, если да то отобразить в таблице"
i tak budet bistree, a esli uslovia (SQL where) bolshie - esche biistree budet v cikle.
Delirium (2003-10-13 19:27:00) [26]
Для 150 000 записей разница будет колоссальной, практически для любой БД поддерживающей SQL.
Sandman25 (2003-10-13 18:57:00) [27]
тащятся -> тащатся
Ча-ща с буквой "а" :(
Relaxxx (2003-10-13 18:56:00) [28]
тоесть вы хотите сказать что разница небольшая и почти не заметная
Johnmen (2003-10-13 18:55:00) [29]
>...что быстрее будет??
Нужет полный список условий для обоих случаев. И как определяются моменты пуска и стопа секундомера...:)
Sandman25 (2003-10-13 18:53:00) [30]
При переборе всех записей таблицы на клиентскую машину тащится вся таблица.
При использовании SQL на клиентскую машину тащятся только нужные записи.
Relaxxx (2003-10-13 18:45:00) [31]
а вообще если серьезно, что быстрее будет??
Vlad (2003-10-13 18:15:00) [32]
Пускай этот чел на своем C++ дальше так и работает.
А ты его не слушай. Это не наш метод :)))