|
|
|
Долгий запрос, как оптимизировать?
|
|||
|---|---|---|---|
|
#18+
Привет, У меня есть таблица: CREATE TABLE `zip_code` ( `ZIP` varchar(5) default NULL, `CITY` varchar(50) default NULL, `STATE` char(2) default NULL, `AREA_CODE` char(3) default NULL, FULLTEXT KEY `ZIP` (`ZIP`,`CITY`,`STATE`,`AREA_CODE`) ) В ней 70,000 записей всего. Мне надо написать такой запрос: Выбрать все ZIP которые относятся к городу у которого есть ZIP=ххххх пишу стайтмент: select distinct zc.zip zip from zip_code as zc, zip_code as c where zc.city=c.city and zc.state=c.state and c.zip='19099' Результат правильный, но работает на полную катушку целых 3 секунды. Что надо делать чтобы работал быстро? Спасибо зарание ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2005, 22:16 |
|
||
|
Долгий запрос, как оптимизировать?
|
|||
|---|---|---|---|
|
#18+
Че то я не понимаю, зачем делать объединение 2-х таблиц. Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2005, 22:37 |
|
||
|
Долгий запрос, как оптимизировать?
|
|||
|---|---|---|---|
|
#18+
А зачем индекс такой? Код: plaintext 1. Может поможет если только zip сделать ключом. По идее если вязать таблицы по полям с индексами то работает быстрее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2005, 22:45 |
|
||
|
Долгий запрос, как оптимизировать?
|
|||
|---|---|---|---|
|
#18+
Кстати запрос подозрительно выглядит. Он работает? Приведен он точно с ошибкой. Идея я как понял в том что надо найти все зипы города с задаваемым зипом или нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2005, 22:52 |
|
||
|
Долгий запрос, как оптимизировать?
|
|||
|---|---|---|---|
|
#18+
Наверно я плохо описал всё. Вот подробнее: в одном городе может быть много ZIP, так же бывает что и в одном ZIP много городов (в одном ZIP обычно живёт определённое количество человек, если город большой то в нём может быть много ZIP, если несколько маленьких городов рядом, то в один ZIP может вместится несколько городов). Изначально у меня есть ZIP. Мне надо найти есть ли ещё ZIP для города к которому этот ZIP принадлежит. Список этих ZIP я и должен получить с помощью своего запроса. Поэтому и объединение. Может я чтото не так делаю, я не спец в БД. Если можно как то по другому делать, буду рад услышать все варианты. Спасибо )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2005, 22:53 |
|
||
|
Долгий запрос, как оптимизировать?
|
|||
|---|---|---|---|
|
#18+
Запрос работает, но долго,... ошидок нет, результат правильный. Я прямо скопировал его со страницы и запустил. Проблем нет, кроме того что он 3 секунды выполняется ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2005, 22:57 |
|
||
|
Долгий запрос, как оптимизировать?
|
|||
|---|---|---|---|
|
#18+
sergkarpenkoА зачем индекс такой? Код: plaintext 1. Может поможет если только zip сделать ключом. По идее если вязать таблицы по полям с индексами то работает быстрее Спасибо за наводку,... я добавил Primary Key и теперь всё гоняет как должно. Спасибо)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2005, 23:01 |
|
||
|
|

start [/forum/topic.php?fid=47&fpage=661&tid=1854155]: |
0ms |
get settings: |
12ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
82ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 306ms |
| total: | 477ms |

| 0 / 0 |
