glock18
28.08.2009 - 12:33
сколько в базе записей?
добавь индексы по articul и по id, который добавил для идентификации пользователя.
SeryiVolk
28.08.2009 - 13:12
Цитата (glock18 @ 28.08.2009 - 08:33) |
сколько в базе записей?
добавь индексы по articul и по id, который добавил для идентификации пользователя. |
SQL |
SELECT IDNUMBER, NAME, LAST, ARTICUL FROM STAT WHERE IDNUMBER NOT IN ( SELECT IDNUMBER FROM STAT WHERE ARTICUL = 622 ) |
использую этот запрос.
если использовать тока эту часть -
SQL |
SELECT IDNUMBER FROM STAT WHERE ARTICUL = 622
|
запрос выполняется и выдает около 1500 записей.
а вообще в таблице более 200 000 записей!
PS/ как добавить индексы не знаю )
glock18
28.08.2009 - 14:02
ммм... гугли, я с interbase не работал. в mysql
SQL |
alter table `stat` add index (`articul`), add primary key (`idnumber`); |
Цитата |
запрос выполняется и выдает около 1500 записей |
угу, тогда индексы, думаю, ускорят это на 1-2 порядка.
даже боюсь представить сколько всего записей, если с articul 622 их 1500. Может 100К, а может еще больше. без индексов у тебя там совсем плохо дела будут
Michael
28.08.2009 - 15:04
Цитата |
idnumber Name last articul
A00012 ivan petrov 622
A00012 ivan petrov 623 A00011 petya ivanoff 2000
A00025 kolya pupkin 621
A00016 kostya popov 621
|
Таблица спроектирована не верно:
Зависимости idnumber->(name,last) и (name,last)->articul в одной таблице. (читай правила нормализации, хотя даже по примеру видно дублирование - (ivan petrov два раза))
Делай две таблицы:
1) (idnumber, Name, last)
2) (idnumber, artikul)
idnumber - первичный ключ обоих таблиц
artikul - просто проиндексируй
_____________
There never was a struggle in the soul of a good man that was not hard
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.