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

Форум MySQL

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Долго удаляет и добавляет индексы

Сообщения:  [1-10]    [11-20]  [21-21] 

 
 автор: Ильдар   (04.06.2011 в 19:45)   письмо автору
 
   для: cheops   (04.06.2011 в 18:18)
 

действительно на хостинге запросы сработал в разы быстрей и без повисонов.
и я знаю почему у меня виснет комп. потому что результат запроса выводит 8 млн записей. Вот поэтому и проблема. А запрос выполняется нормально 0.0169 сек.

  Ответить  
 
 автор: cheops   (04.06.2011 в 18:18)   письмо автору
 
   для: Ильдар   (04.06.2011 в 18:14)
 

Это нормально. Во-первых у локальных машин очень слабая подсистема ввода-вывода, даже на самых простецких серверах она обычно значительно сильнее. Во-вторых у вас наверняка не очень сильно настроен MySQL и не "разогрет", так как у вас нет большого количества обращений и вы не можете заполнить кэши, даже если они настроены. Работать с большой базой локально - это действительно морока (многие операции протекают слишком долго).

  Ответить  
 
 автор: Ильдар   (04.06.2011 в 18:14)   письмо автору
 
   для: cheops   (04.06.2011 в 17:14)
 

локальна машина. Но запрос этот выполняется неопределенное время. Просто виснет и все

  Ответить  
 
 автор: cheops   (04.06.2011 в 17:14)   письмо автору
 
   для: Ильдар   (04.06.2011 в 16:10)
 

Ну вроде все впорядке ключи используются. Сколько времени запрос выполняется и где (сервер, локальная машина)?

  Ответить  
 
 автор: Ильдар   (04.06.2011 в 16:10)   письмо автору
 
   для: Ильдар   (04.06.2011 в 15:59)
 

запрос немного исправил:
EXPLAIN SELECT mk.year, mk.mark_name, md.model_name
FROM cars AS y
LEFT JOIN cars AS mk ON mk.year = y.year
LEFT JOIN cars AS md ON md.mark_id = mk.mark_id
WHERE y.year =2009

результат:
id     select_type     table     type     possible_keys     key     key_len     ref     rows     Extra 
1    SIMPLE    y    ref    year    year    4    const    6903    Using index
1    SIMPLE    mk    ref    year    year    4    const    6903     
1    SIMPLE    md    ref    mark_id    mark_id    4    automobiles.mk.mark_id    2368     

  Ответить  
 
 автор: Ильдар   (04.06.2011 в 15:59)   письмо автору
 
   для: cheops   (04.06.2011 в 15:32)
 

Ты наверное имел ввиду EXPLAIN, понял, проверю ща

  Ответить  
 
 автор: cheops   (04.06.2011 в 15:32)   письмо автору
 
   для: Ильдар   (04.06.2011 в 15:18)
 

Собственно используется индекс или нет, можно посмотреть при помощи оператора EXPLODE
EXPLODE SELECT mk.year, mk.mark_name, md.model_name FROM `cars` AS y 
LEFT JOIN cars AS mk ON mk.year = y.year 
LEFT JOIN cars AS md ON md.mark_id = mk.mark_id 
WHERE y.year = 2009

  Ответить  
 
 автор: cheops   (04.06.2011 в 15:31)   письмо автору
 
   для: Ильдар   (04.06.2011 в 15:18)
 

Индекс не влияет вот на это
>SELECT mk.year, mk.mark_name, md.model_name FROM `cars` AS y
В первую очередь он влияет на
>WHERE y.year = 2009
Во вторую на
>ON mk.year = y.year
>ON md.mark_id = mk.mark_id

  Ответить  
 
 автор: Ильдар   (04.06.2011 в 15:18)   письмо автору
 
   для: Ильдар   (04.06.2011 в 15:15)
 

вот запрос такого вида делаю. Может быть конечно я делаю это неправильно - после майских физических нагрузок мозг притормаживает - но от запроса виснет:
SELECT mk.year, mk.mark_name, md.model_name FROM `cars` AS y
LEFT JOIN cars AS mk ON mk.year = y.year
LEFT JOIN cars AS md ON md.mark_id = mk.mark_id
WHERE y.year = 2009

  Ответить  
 
 автор: Ильдар   (04.06.2011 в 15:15)   письмо автору
 
   для: cheops   (04.06.2011 в 15:00)
 

да, сделано намеренно, потому что в запросах участвуют тлько первые 6 стоблцов

  Ответить  

Сообщения:  [1-10]    [11-20]  [21-21] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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