![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
У меня есть поиск логинов по memo как это сделать через БД?
WebSqlNeederr © (2006-05-22 13:42:00)Мне нужно перебирать в моей програме по 20 000 логинов каждые 5-10 секунд. Сейчас я их храню в memo и когда число логинов достигает 15-20 тыс то ощущаются оооочень большие тормоза. Если перенести хранение и поиск логинов на Базу Данных то от тормозов можно будет избавиться? Помогите как это реализовать с БД?
С БД в Делфи никогда раньше не работал, но есть опыт работы с БД MySQL в связке с php для веб программирования (сайты).
Ega23 (2006-05-22 14:09:00) [21]
> Зачем мне шуршыть толстые книги если мне нужно просто перенести
> функциональность из строковой в БД-поиск?
>
> StringGrid он уже работает с БД запросами? Или в каком элементе
> БД запросы ведутся и вообще запись, считывания с БД?
Вот за этим и надо шурстить толстые книги. Чтобы такую ахинею не спрашивать.
WebSqlNeederr (2006-05-22 14:08:00) [22]Зачем мне шуршыть толстые книги если мне нужно просто перенести функциональность из строковой в БД-поиск?
StringGrid он уже работает с БД запросами? Или в каком элементе БД запросы ведутся и вообще запись, считывания с БД?
sniknik (2006-05-22 14:07:00) [23]> Как это сравнение реализовать с помощью БД??
запросом естественно... не, можно конечно и "вытащить" все на клиента и там локейтом в рекордсете... но такой подход не выдерживает критики в любой более менее грамотной клиент серверной программе.
запрос типа
SELECT 1 AS Yes FROM UserTable WHERE Login=:LogPar
присваиваеш параметру(LogPar) проверяемый логин, выполняеш запрос и если хоть чтонибудь вернуло (либо количество записей, либо поле на = 1 проверять, или на не NULL) значит логин есть.
естественно, для скорости на поле Login должен быть индекс... (хотя на 20 тыс записей и без него побыстрее чем с мемо будет, просто маловато записей...)
Ega23 (2006-05-22 14:04:00) [24]
> А можно по порядку. Вот у меня сейчас все реализовано сравнение
> через обычное сравнение текста в мемо (tStringList) как
> мне это теперь перенести в БД? Как вообще БД работает в
> Делфи - оно встроено или как ...
Если по порядку - то возьми самую толстую книжку про Delphi, найди работу с БД и хотя бы внимательно прочитай.
Потом уже можно будет и поговорить.
WebSqlNeederr (2006-05-22 14:03:00) [25]Подозрительные какие, вам бы в шпиЕны :)
5-10 секунд это к тому что возможна у меня такая ситуация.
А можно по порядку. Вот у меня сейчас все реализовано сравнение через обычное сравнение текста в мемо (tStringList) как мне это теперь перенести в БД? Как вообще БД работает в Делфи - оно встроено или как ...
Ega23 (2006-05-22 13:58:00) [26]Интересно, где-это каждые 5-10 секунд новый пользователь добавляется???
А вообще - Select * from Logins where UpperCase(Login)=UpperCase('Login')
:о)
Sergey13 (2006-05-22 13:58:00) [27]2[2] WebSqlNeederr (22.05.06 13:54)
>Как это сравнение реализовать с помощью БД??
Поиском по индексированному полю.
ЗЫ: Но осталось у меня сомнение насчет твоих коварных целей.
WebSqlNeederr (2006-05-22 13:54:00) [28]Нет. Нужно проверять при добавлении нового логина существует ли уже такой и вот когда всего логинов больше 15-20 тыс то сильные тормоза восзникают :(
Как это сравнение реализовать с помощью БД??
Sergey13 (2006-05-22 13:44:00) [29]Это БД-ориентированный вирус? 8-)