Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Оптимизация запроса
 
 автор: danya_nyjniy   (26.05.2012 в 18:54)   письмо автору
 
 

Помогите оптимизировать запрос если это возможно а то выполняется по 1.5 секунд.

Мне нужно проверить есть ли число в какой-либо из 3-х таблиц.

Вот мой запрос:


$number = 2133435;

$stroka_query = mysql_query("SELECT `number` FROM `table1` WHERE `number`='{$number}' LIMIT 1
UNION SELECT `number` FROM `table2` WHERE `number`='{$number}' LIMIT 1
UNION SELECT `number` FROM `table3` WHERE `number`='{$number}' LIMIT 1") or exit (mysql_error());

  Ответить  
 
 автор: cheops   (26.05.2012 в 20:33)   письмо автору
 
   для: danya_nyjniy   (26.05.2012 в 18:54)
 

У вас столбец number проиндексирован (во всех трех таблицах)?

PS LIMIT тут бесполезен - он только к полной выборке из всех трех таблиц применяется, т.е. можно оставить один после всех UNION.

  Ответить  
 
 автор: danya_nyjniy   (26.05.2012 в 20:47)   письмо автору
 
   для: cheops   (26.05.2012 в 20:33)
 

Да, столбец number есть во всех трёх таблицах.

  Ответить  
 
 автор: cheops   (26.05.2012 в 21:29)   письмо автору
 
   для: danya_nyjniy   (26.05.2012 в 20:47)
 

А он проиндексирован?

  Ответить  
 
 автор: danya_nyjniy   (26.05.2012 в 21:35)   письмо автору
 
   для: cheops   (26.05.2012 в 21:29)
 

В смысле? Я не очень в этом силён...

  Ответить  
 
 автор: cheops   (26.05.2012 в 22:09)   письмо автору
 
   для: danya_nyjniy   (26.05.2012 в 21:35)
 

Столбец можно проиндексировать, т.е. фактически создать копию столбца, которая будет поддерживаться в отсортированном виде средствами СУБД. Поиск по таким индексированным столбцам осуществляется исключительно быстро. Вам какие клиенты доступны, есть phpMyAdmin?

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования