Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

У меня есть поиск логинов по memo как это сделать через БД?


Страницы:   1 2

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-)


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо