Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
Страницы: (7) « Первая ... 4 5 [6] 7  ( Перейти к первому непрочитанному сообщению )  
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Нужна помощ с подбором индекса на платной основе
S.Chushkin  
[x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Пофигист
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 777
Пользователь №: 36058
На форуме: 3 года, 11 месяцев, 6 дней
Карма: 40




select t.*, (SELECT count(*) FROM torgall_comments WHERE message_id = t.id) comments_count 
from (
SELECT d.id
FROM torgall_db as d
WHERE d.status = 1 and d.catfull like 'Zhivotnye-pticy-ryby-tovary-dlya-zhivotnyh%'
ORDER by d.catfull desc, d.raised desc, d.date_add desc, d.id desc
LIMIT
78000, 30
) tt
left join torgall_db t on t.id = tt.id

SHOW PROFILE Result (ordered by duration)
state duration (summed) in sec percentage
Sending data 0.14633 99.30103
freeing items 0.00041 0.27823
statistics 0.00016 0.10858
Opening tables 0.00011 0.07465
checking query cache for query 0.00010 0.06786
init 0.00005 0.03393
executing 0.00004 0.02714
cleaning up 0.00004 0.02714
preparing 0.00004 0.02714
optimizing 0.00003 0.02036
checking permissions 0.00001 0.00679
starting 0.00001 0.00679
removing tmp table 0.00001 0.00679
closing tables 0.00001 0.00679
System lock 0.00001 0.00679
Total 0.14736 100.00000


Change Of STATUS VARIABLES Due To Execution Of Query
variable value description
Bytes_received 265 Bytes sent from the client to the server
Bytes_sent 9272 Bytes sent from the server to the client
Com_select 1 Number of SELECT statements that have been executed
Created_tmp_tables 1 Count of temporary tables created in memory
Handler_commit 1 Number of internal commit statements
Handler_read_key 61 Number of requests to read a row based on a key
Handler_read_prev 78029 Number of requests to read the previous row in key order. Also indicates that ORDER BY ... DESC was optimized
Handler_read_rnd_next 31 Number of requests to read the next row in the data file. A high value indicates that a full table scan was required
Handler_write 30 Number of requests to insert a row in a table
Innodb_buffer_pool_read_requests# 10809 The number of logical read requests Innodb has done
Innodb_rows_read# 78060 The number of rows read from Innodb tables
Qcache_not_cached* 353 Number of queries that were not cached by the Query Cache. They are not cacheable or was not cached due to the query_cache_type setting
Questions 1 Number of statements executed by the server
Select_range 1 Tables were read from the disk only in the necessary places to satisfy a limited range of conditions
Select_scan 1 Number of full table scans of the first table in the query
Table_locks_immediate 3 The number of requests for table locks that could be granted immediately

EXPLAIN Result
id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY <derived3> ALL (NULL) (NULL) (NULL) (NULL) 78030 (NULL)
1 PRIMARY t eq_ref PRIMARY PRIMARY 4 tt.id 1 (NULL)
3 DERIVED d range idx idx 767 (NULL) 124135 Using where; Using index
2 DEPENDENT SUBQUERY torgall_comments ref idx_m idx_m 4 t.t.id 1 Using index


Общее время исполнение ~0.16 сек


--------------------
PM
    1   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
S.Chushkin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Пофигист
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 777
Пользователь №: 36058
На форуме: 3 года, 11 месяцев, 6 дней
Карма: 40




Индексы:
PRIMARY(id)
idx(status, catfull, raised, date_add, id)

п.с.
Кстати, дамп был битый. Обрезал битую часть, - осталось 269099 строк.


--------------------
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Serg86  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Старик
***

Профиль
Группа: Пользователь
Сообщений: 104
Пользователь №: 42253
На форуме: 11 месяцев, 19 дней
Карма:




Щас попробую

Это сообщение отредактировал Serg86 - 2.03.2016 - 17:13
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Serg86  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Старик
***

Профиль
Группа: Пользователь
Сообщений: 104
Пользователь №: 42253
На форуме: 11 месяцев, 19 дней
Карма:




Цитата
select t.*, (SELECT count(*) FROM torgall_comments WHERE message_id = t.id) comments_count
from (
SELECT d.id
FROM torgall_db as d
WHERE d.status = 1 and d.catfull like 'Zhivotnye-pticy-ryby-tovary-dlya-zhivotnyh%'
ORDER by d.catfull desc, d.raised desc, d.date_add desc, d.id desc
    LIMIT 78000, 30
) tt
left join torgall_db t on t.id = tt.id


Всё получилось. Всётаки Вы умеете темы закрывать. Я бы сам такой запрос точно не родил.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Serg86  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Старик
***

Профиль
Группа: Пользователь
Сообщений: 104
Пользователь №: 42253
На форуме: 11 месяцев, 19 дней
Карма:




Осталась последняя проблема, запрос работает вот только как я не понимаю как.

Кто сможет разложить по полочкам?

Это сообщение отредактировал Serg86 - 2.03.2016 - 17:41
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
S.Chushkin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Пофигист
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 777
Пользователь №: 36058
На форуме: 3 года, 11 месяцев, 6 дней
Карма: 40




1)
ORDER BY использует индекс только если он используется в WHERE. Если в WHERE используется другой индекс (с не той последовательностью полей, что нужна) то будет filesort.

2)
Данный запрос...
- сначала подзапросом отбирает нужные ИД и запихивает их во временную таблицу. При этом используется только индекс, что максимально быстро из возможного.
- затем JOIN подгружает все данные для отобранных ИД


--------------------
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Zzepish  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Аццкая хрень
******

Профиль
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 5475
Пользователь №: 32538
На форуме: 4 года, 6 месяцев, 7 дней
Карма: 49




S.Chushkin
А ты хитрый жук)


--------------------
Правда тоже ложь, но с иным углом.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
S.Chushkin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Пофигист
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 777
Пользователь №: 36058
На форуме: 3 года, 11 месяцев, 6 дней
Карма: 40




А то! smile.gif


--------------------
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Invis1ble  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме




******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 11783
Пользователь №: 23195
На форуме: 6 лет, 4 месяца, 9 дней
Карма: 428

Трезвый :
7 лет, 3 месяца, 9 дней


Цитата (Serg86 @ 1.03.2016 - 11:35)
Нужна помощ с подбором индекса на платной основе

S.Chushkin, ТС выполнил обещание, или как обычно?


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Zzepish  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Аццкая хрень
******

Профиль
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 5475
Пользователь №: 32538
На форуме: 4 года, 6 месяцев, 7 дней
Карма: 49




S.Chushkin
А вообще странно - у меня твой запрос выполняется дольше. Ключ из индексов составной? База MyISAM?


--------------------
Правда тоже ложь, но с иным углом.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
S.Chushkin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Пофигист
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 777
Пользователь №: 36058
На форуме: 3 года, 11 месяцев, 6 дней
Карма: 40




Забудьте про MyISAM !
Индексы я описал выше.


--------------------
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
S.Chushkin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Пофигист
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 777
Пользователь №: 36058
На форуме: 3 года, 11 месяцев, 6 дней
Карма: 40




Цитата (Invis1ble @ 2.03.2016 - 18:49)
S.Chushkin, ТС выполнил обещание, или как обычно?

Если Вы про гроши, то здесь и в других форумах я это делаю не ради них.
Даю ответы когда:
- или задача достаточно интересная для меня, чтобы "встрять"
- или изредка когда слегка интересная и коллега хочет учится


--------------------
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Zzepish  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Аццкая хрень
******

Профиль
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 5475
Пользователь №: 32538
На форуме: 4 года, 6 месяцев, 7 дней
Карма: 49




S.Chushkin
т.е. перейти на innodb? в ней выборка медленнее же.

Вот, что выдает у меня explain
http://www.zimagez.com/full/634520ece51a08...1383945d4e2.php

Индексы:
http://www.zimagez.com/full/64bfff4dd33825...9b63a638654.php

Результат по твоему запросу:
http://www.zimagez.com/full/abdb9ae68e118b...1338181edf0.php


--------------------
Правда тоже ложь, но с иным углом.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Invis1ble  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме




******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 11783
Пользователь №: 23195
На форуме: 6 лет, 4 месяца, 9 дней
Карма: 428

Трезвый :
7 лет, 3 месяца, 9 дней


Цитата (S.Chushkin @ 2.03.2016 - 18:56)
Цитата (Invis1ble @ 2.03.2016 - 18:49)
S.Chushkin, ТС выполнил обещание, или как обычно?

Если Вы про гроши, то здесь и в других форумах я это делаю не ради них.
Даю ответы когда:
- или задача достаточно интересная для меня, чтобы "встрять"
- или изредка когда слегка интересная и коллега хочет учится

я понимаю, что ты это делаешь не ради денег
но вопрос-то был не в этом
скажем так, я веду личную статистику


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Zzepish  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Аццкая хрень
******

Профиль
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 5475
Пользователь №: 32538
На форуме: 4 года, 6 месяцев, 7 дней
Карма: 49




ПРи таком запросе:
SELECT d.id, d.ip, d.p, d.uid, d.cat, d.region, d.date_add, d.user_id, d.status, d.email, d.user, d.title, d.text, d.f_94 images, d.active, d.counter, d.date_del, d.nosend, d.subdomain ,(SELECT count(1) 
FROM torgall_comments WHERE message_id = d.id) torgall_count FROM torgall_db as d WHERE status = 1 AND catfull like 'Zhivotnye-pticy-ryby-tovary-dlya-zhivotnyh%' ORDER by raised desc, date_add desc LIMIT 78000, 30;

Вот мой лучший результат:
http://www.zimagez.com/full/3de2adb37a0511...7b1036179ed.php

При индексах:
http://www.zimagez.com/full/3a3897a5571005...3990fecf61c.php


--------------------
Правда тоже ложь, но с иным углом.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темыСтраницы: (7) « Первая ... 4 5 [6] 7  Ответ в темуСоздание новой темыСоздание опроса