Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> innodb тормозят запросы по ключу 
:(
    Опции темы
Fubu_By
Дата 31.7.2018, 11:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 290
Регистрация: 14.2.2007

Репутация: нет
Всего: 0



есть простой запрос, который переодически тормозит при выборке по первичному ключу (поле `name` - varchar(255)), таблица небольшая 240.000 записей innodb
Код

# Query 7: 0.00 QPS, 0.02x concurrency, ID 0xEC24272948E20847 at byte 810024
# This item is included in the report because it matches --limit.
# Scores: V/M = 37.88
# Time range: 2018-07-25 01:54:34 to 2018-07-31 03:28:17
# Attribute    pct   total     min     max     avg     95%  stddev  median
# ============ === ======= ======= ======= ======= ======= ======= =======
# Count          3     935
# Exec time      3  12786s      1s    167s     14s     60s     23s      6s
# Lock time      0   346ms    17us    52ms   370us    49us     4ms    28us
# Rows sent      0     935       1       1       1       1       0       1
# Rows examine   0     935       1       1       1       1       0       1
# Query size     0 190.15k     206     210  208.25  202.40       0  202.40
# String:
# Databases    aviatickets
# Hosts        localhost
# Users        admin
# Query_time distribution
#   1us
#  10us
# 100us
#   1ms
#  10ms
# 100ms
#    1s  ################################################################
#  10s+  ###########################
# EXPLAIN /*!50100 PARTITIONS*/
SELECT * FROM `table` WHERE `name` = 'b61031' LIMIT 1\G


Может нужно в настройах самого mysql(5.5.57) подкрутить? вот my.cnf
Код


[client]
port            = 3306
socket          = /var/run/mysqld/mysqld.sock

[mysqld_safe]
log-error=/var/log/mysql.log
socket          = /var/run/mysqld/mysqld.sock
nice            = 0

[mysqld]

local-infile=0
user            = mysql
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
datadir         = /var/lib/mysql
tmpdir          = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
tmp_table_size      = 2G
max_heap_table_size = 2G
bind-address            = localhost

key_buffer              = 16M
max_allowed_packet      = 100M
thread_stack            = 192K
thread_cache_size       = 8

myisam-recover         = BACKUP
max_connections        = 1000

query_cache_limit       = 1M
query_cache_size        = 16M

log_error = /var/log/mysql/error.log

slow_query_log_file = /var/log/mysql/mysql-slow.log
slow_query_log      = 1
long_query_time = 1



expire_logs_days        = 10
max_binlog_size         = 100M
bind-address = 138.201.28.33





[mysqldump]
quick
quote-names
max_allowed_packet      = 16M



[isamchk]
key_buffer              = 16M






--------------------
PM MAIL WWW   Вверх
Akina
Дата 1.8.2018, 12:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20570
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 453



Покажите DDL таблицы. И поясните, зачем вам одна СЛУЧАЙНАЯ запись из всех возможных с заданным значением поля.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Fubu_By
Дата 3.8.2018, 08:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 290
Регистрация: 14.2.2007

Репутация: нет
Всего: 0



Akina, это не случайная запись, а поднятие конкретной записи из БД. name - primary, потому что по этому полю происходит идентификатция данных во внешнем сервисе и запись должна быть уникальной

Код

create table flights
(
    name varchar(255) not null,
    origin_airport_id smallint(5) unsigned not null,
    destination_airport_id smallint(5) unsigned not null,се
    airline_id smallint(5) unsigned not null,
    updated_at timestamp default CURRENT_TIMESTAMP not null,
    constraint flights_number_name_uindex
        unique (name),
    constraint flights_airlines_id_fk
        foreign key (airline_id) references airlines (id)
            on update cascade on delete cascade,
    constraint flights_number_destination_airport_id_fk
        foreign key (destination_airport_id) references airports (id)
            on update cascade on delete cascade,
    constraint origin_airports_id_fk
        foreign key (origin_airport_id) references airports (id)
            on update cascade on delete cascade
)
;

create index airline_id
    on flights (airline_id)
;

create index destination_airport_id
    on flights (destination_airport_id)
;

create index origin_airport_id_destination_airport_id
    on flights (origin_airport_id, destination_airport_id)
;

alter table flights
    add primary key (name)
;



--------------------
PM MAIL WWW   Вверх
Akina
Дата 3.8.2018, 09:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20570
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 453



Цитата(Fubu_By @  3.8.2018,  09:56 Найти цитируемый пост)
это не случайная запись, а поднятие конкретной записи из БД. name - primary

Ну DDL Вы изначально-то не показали... а там поди догадайся. 
А коли так - то нафига, позвольте узнать, LIMIT 1?


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Fubu_By
Дата 4.8.2018, 22:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 290
Регистрация: 14.2.2007

Репутация: нет
Всего: 0



Akina, это фреймворк подставляет, да и чтобы на первой найденой записи остановился и бьольше не искал. Но я не думаю, что проблема в этом...


--------------------
PM MAIL WWW   Вверх
Akina
Дата 5.8.2018, 16:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20570
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 453



Цитата(Fubu_By @  4.8.2018,  23:01 Найти цитируемый пост)
чтобы на первой найденой записи остановился и бьольше не искал

 smile  smile 


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.1307 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.