Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

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

 

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

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

тема: Какие многотабл. запросы быстрее?
 
 автор: а-я   (16.02.2008 в 03:59)   письмо автору
 
 

Что быстрее будет?


SELECT DISTINCT 
 *
FROM
 `tbl_1`
WHERE
 `ID_users`=(
             SELECT DISTINCT 
              `ID`
             FROM
              `users`
             WHERE
              `nick`='$nick'
             LIMIT 1
             )
LIMIT 1;

или

SELECT DISTINCT
 tbl_1.*
FROM
 tbl_1,users
WHERE
 tbl_1.ID_users=users.ID
AND
 users.nick='$nick'
LIMIT 1;

или лучше JOINы использовать?

2)
Есть ли разница, когда перечисляешь название таблиц?
Где-то в доках читал, что нужно переч. в порядке использован таблиц
+ какая та функция... (точно не помню, и найти не могу)

   
 
 автор: cheops   (16.02.2008 в 12:45)   письмо автору
 
   для: а-я   (16.02.2008 в 03:59)
 

1) Всё зависит от многих факторов, в данном случае вероятно быстрее будет работать первый запрос, так как он оперирует результирующей таблицей меньшего объёма.
2) Порядок перечисления таблиц в общем не имеет значение, имеет значение порядок условий в конструкции WHERE, условия, которые оперируют менее объёмной таблицей лучше располагать первыми.

   
 
 автор: а-я   (16.02.2008 в 19:39)   письмо автору
 
   для: cheops   (16.02.2008 в 12:45)
 

спасибо... =)

   
Rambler's Top100
вверх

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