[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Запрос на выбор с базы
Страницы: 1, 2, 3
glock18
сколько в базе записей?

добавь индексы по articul и по id, который добавил для идентификации пользователя.
SeryiVolk
Цитата (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
ммм... гугли, я с interbase не работал. в mysql

SQL
alter table `stat`
add index (`articul`),
add primary key (`idnumber`);


Цитата
запрос выполняется и выдает около 1500 записей

угу, тогда индексы, думаю, ускорят это на 1-2 порядка.

даже боюсь представить сколько всего записей, если с articul 622 их 1500. Может 100К, а может еще больше. без индексов у тебя там совсем плохо дела будут smile.gif
Michael
Цитата
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
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.