powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Тормозит запрос на join с таблицей одной строкой.
11 сообщений из 11, страница 1 из 1
Тормозит запрос на join с таблицей одной строкой.
    #39950432
YurikGL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть запрос из битрикса, который сильно тормозит.
Исходный запрос. Выполняется 12.5 секунд, и фетч 0.125
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
SELECT 
BE.ID as ID,
BE.IBLOCK_ID as IBLOCK_ID,
BE.IBLOCK_SECTION_ID as IBLOCK_SECTION_ID,
BE.NAME as NAME,
IF(EXTRACT(HOUR_SECOND
FROM
BE.ACTIVE_FROM)>0, DATE_FORMAT(BE.ACTIVE_FROM, '%d.%m.%Y %H:%i:%s'), DATE_FORMAT(BE.ACTIVE_FROM, '%d.%m.%Y')) as ACTIVE_FROM,
DATE_FORMAT(BE.TIMESTAMP_X, '%d.%m.%Y %H:%i:%s') as TIMESTAMP_X,
B.DETAIL_PAGE_URL as DETAIL_PAGE_URL,
B.LIST_PAGE_URL as LIST_PAGE_URL,
BE.DETAIL_TEXT as DETAIL_TEXT,
BE.DETAIL_TEXT_TYPE as DETAIL_TEXT_TYPE,
BE.PREVIEW_TEXT as PREVIEW_TEXT,
BE.PREVIEW_TEXT_TYPE as PREVIEW_TEXT_TYPE,
BE.PREVIEW_PICTURE as PREVIEW_PICTURE,
L.DIR as LANG_DIR,
BE.SORT as SORT,BE.CODE as CODE,
BE.XML_ID as EXTERNAL_ID,
B.IBLOCK_TYPE_ID as IBLOCK_TYPE_ID,
B.CODE as IBLOCK_CODE,
B.XML_ID as IBLOCK_EXTERNAL_ID,
B.LID as LID
FROM
b_iblock B
INNER JOIN b_lang L ON B.LID=L.LID
INNER JOIN b_iblock_element BE ON BE.IBLOCK_ID = B.ID
WHERE
1=1 
AND ( ((((BE.IBLOCK_ID = '2')))) 
AND (EXISTS ( SELECT IBLOCK_ID
FROM b_iblock_site
WHERE IBLOCK_ID = B.ID AND (((SITE_ID='s2'))) )) 
AND ((((BE.ACTIVE='Y')))) ) 
AND (((BE.WF_STATUS_ID=1 AND BE.WF_PARENT_ELEMENT_ID IS NULL)))
ORDER BY
BE.ID desc ,BE.SORT asc
LIMIT 0, 10


План запроса, все по индексам

{
"query_block": {
"select_id": 1,
"filesort": {
"temporary_table": {
"function": "buffer",
"table": {
"table_name": "BE",
"access_type": "index_merge",
"possible_keys": [
"ix_iblock_element_1",
"ix_iblock_element_4",
"ix_iblock_element_3",
"ix_iblock_element_code",
"ix_iblock_element_openregion_3",
"idx_b_iblock_element_ACTIVE",
"idx_b_iblock_element_WF_STATUS_ID"
],
"key_length": "3,4,5,5",
"index_merge": {
"intersect": {
"range": {
"key": "idx_b_iblock_element_ACTIVE",
"used_key_parts": ["ACTIVE"]
},
"range": {
"key": "ix_iblock_element_openregion_3",
"used_key_parts": ["IBLOCK_ID"]
},
"range": {
"key": "ix_iblock_element_3",
"used_key_parts": ["WF_PARENT_ELEMENT_ID"]
},
"range": {
"key": "idx_b_iblock_element_WF_STATUS_ID",
"used_key_parts": ["WF_STATUS_ID"]
}
}
},
"rows": 23529,
"filtered": 75.001,
"attached_condition": "((BE.WF_STATUS_ID = 1) and (BE.IBLOCK_ID = '2') and (BE.ACTIVE = 'Y') and isnull(BE.WF_PARENT_ELEMENT_ID))"
},
"table": {
"table_name": "B",
"access_type": "eq_ref",
"possible_keys": ["PRIMARY", "b_iblock_LID_IDX_openregion"],
"key": "PRIMARY",
"key_length": "4",
"used_key_parts": ["ID"],
"ref": ["letters.BE.IBLOCK_ID"],
"rows": 1,
"filtered": 100
},
"table": {
"table_name": "b_iblock_site",
"access_type": "eq_ref",
"possible_keys": ["PRIMARY", "idx_b_iblock_site_SITE_ID"],
"key": "PRIMARY",
"key_length": "10",
"used_key_parts": ["IBLOCK_ID", "SITE_ID"],
"ref": ["letters.BE.IBLOCK_ID", "const"],
"rows": 1,
"filtered": 100,
"attached_condition": "(b_iblock_site.SITE_ID = 's2')",
"using_index": true
},
"table": {
"table_name": "L",
"access_type": "ALL",
"possible_keys": ["PRIMARY"],
"rows": 1,
"filtered": 100,
"attached_condition": "(L.LID = B.LID)"
}
}
}
}
}


А теперь просто уменьшим количество возвращаемых полей, не меняя выборку... запрос выполняется 2 секунды...
Запрос
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
-- explain FORMAT=JSON
SELECT 
BE.ID as ID,
/* BE.IBLOCK_ID as IBLOCK_ID,
BE.IBLOCK_SECTION_ID as IBLOCK_SECTION_ID,
BE.NAME as NAME,
IF(EXTRACT(HOUR_SECOND
FROM
BE.ACTIVE_FROM)>0, DATE_FORMAT(BE.ACTIVE_FROM, '%d.%m.%Y %H:%i:%s'), DATE_FORMAT(BE.ACTIVE_FROM, '%d.%m.%Y')) as ACTIVE_FROM,
DATE_FORMAT(BE.TIMESTAMP_X, '%d.%m.%Y %H:%i:%s') as TIMESTAMP_X,
B.DETAIL_PAGE_URL as DETAIL_PAGE_URL,
B.LIST_PAGE_URL as LIST_PAGE_URL,
BE.DETAIL_TEXT as DETAIL_TEXT,
BE.DETAIL_TEXT_TYPE as DETAIL_TEXT_TYPE,

BE.PREVIEW_TEXT as PREVIEW_TEXT,
BE.PREVIEW_TEXT_TYPE as PREVIEW_TEXT_TYPE,
BE.PREVIEW_PICTURE as PREVIEW_PICTURE,*/
L.DIR as LANG_DIR,
BE.SORT as SORT,BE.CODE as CODE,
/*
BE.XML_ID as EXTERNAL_ID,
B.IBLOCK_TYPE_ID as IBLOCK_TYPE_ID,
B.CODE as IBLOCK_CODE,
B.XML_ID as IBLOCK_EXTERNAL_ID,*/
B.LID as LID
FROM
b_iblock B
INNER JOIN b_lang L ON B.LID=L.LID
INNER JOIN b_iblock_element BE ON BE.IBLOCK_ID = B.ID
WHERE
1=1 
AND ( ((((BE.IBLOCK_ID = '2')))) 
AND (EXISTS ( SELECT IBLOCK_ID
FROM b_iblock_site
WHERE IBLOCK_ID = B.ID AND (((SITE_ID='s2'))) )) 
AND ((((BE.ACTIVE='Y')))) ) 
AND (((BE.WF_STATUS_ID=1 AND BE.WF_PARENT_ELEMENT_ID IS NULL)))
ORDER BY
BE.ID desc ,BE.SORT asc
LIMIT 0, 10


План запроса не изменился

{
"query_block": {
"select_id": 1,
"filesort": {
"temporary_table": {
"function": "buffer",
"table": {
"table_name": "BE",
"access_type": "index_merge",
"possible_keys": [
"ix_iblock_element_1",
"ix_iblock_element_4",
"ix_iblock_element_3",
"ix_iblock_element_code",
"ix_iblock_element_openregion_3",
"idx_b_iblock_element_ACTIVE",
"idx_b_iblock_element_WF_STATUS_ID"
],
"key_length": "3,4,5,5",
"index_merge": {
"intersect": {
"range": {
"key": "idx_b_iblock_element_ACTIVE",
"used_key_parts": ["ACTIVE"]
},
"range": {
"key": "ix_iblock_element_openregion_3",
"used_key_parts": ["IBLOCK_ID"]
},
"range": {
"key": "ix_iblock_element_3",
"used_key_parts": ["WF_PARENT_ELEMENT_ID"]
},
"range": {
"key": "idx_b_iblock_element_WF_STATUS_ID",
"used_key_parts": ["WF_STATUS_ID"]
}
}
},
"rows": 23529,
"filtered": 75.001,
"attached_condition": "((BE.WF_STATUS_ID = 1) and (BE.IBLOCK_ID = '2') and (BE.ACTIVE = 'Y') and isnull(BE.WF_PARENT_ELEMENT_ID))"
},
"table": {
"table_name": "B",
"access_type": "eq_ref",
"possible_keys": ["PRIMARY", "b_iblock_LID_IDX_openregion"],
"key": "PRIMARY",
"key_length": "4",
"used_key_parts": ["ID"],
"ref": ["letters.BE.IBLOCK_ID"],
"rows": 1,
"filtered": 100
},
"table": {
"table_name": "b_iblock_site",
"access_type": "eq_ref",
"possible_keys": ["PRIMARY", "idx_b_iblock_site_SITE_ID"],
"key": "PRIMARY",
"key_length": "10",
"used_key_parts": ["IBLOCK_ID", "SITE_ID"],
"ref": ["letters.BE.IBLOCK_ID", "const"],
"rows": 1,
"filtered": 100,
"attached_condition": "(b_iblock_site.SITE_ID = 's2')",
"using_index": true
},
"table": {
"table_name": "L",
"access_type": "ALL",
"possible_keys": ["PRIMARY"],
"rows": 1,
"filtered": 100,
"attached_condition": "(L.LID = B.LID)"
}
}
}
}
}


Вернем поля, уберем один join на таблицу b_lang (к слову в ней только одна запись) Запрос выполняется 1.3 секунды....
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
-- explain FORMAT=JSON
SELECT 
BE.ID as ID,
 BE.IBLOCK_ID as IBLOCK_ID,
BE.IBLOCK_SECTION_ID as IBLOCK_SECTION_ID,
BE.NAME as NAME,
IF(EXTRACT(HOUR_SECOND
FROM
BE.ACTIVE_FROM)>0, DATE_FORMAT(BE.ACTIVE_FROM, '%d.%m.%Y %H:%i:%s'), DATE_FORMAT(BE.ACTIVE_FROM, '%d.%m.%Y')) as ACTIVE_FROM,
DATE_FORMAT(BE.TIMESTAMP_X, '%d.%m.%Y %H:%i:%s') as TIMESTAMP_X,
B.DETAIL_PAGE_URL as DETAIL_PAGE_URL,
B.LIST_PAGE_URL as LIST_PAGE_URL,
BE.DETAIL_TEXT as DETAIL_TEXT,
BE.DETAIL_TEXT_TYPE as DETAIL_TEXT_TYPE,

BE.PREVIEW_TEXT as PREVIEW_TEXT,
BE.PREVIEW_TEXT_TYPE as PREVIEW_TEXT_TYPE,
BE.PREVIEW_PICTURE as PREVIEW_PICTURE,
-- L.DIR as LANG_DIR,
BE.SORT as SORT,BE.CODE as CODE,

BE.XML_ID as EXTERNAL_ID,
B.IBLOCK_TYPE_ID as IBLOCK_TYPE_ID,
B.CODE as IBLOCK_CODE,
B.XML_ID as IBLOCK_EXTERNAL_ID,
B.LID as LID
FROM
b_iblock B
-- INNER JOIN b_lang L ON B.LID=L.LID
INNER JOIN b_iblock_element BE ON BE.IBLOCK_ID = B.ID
WHERE
1=1 
AND ( ((((BE.IBLOCK_ID = '2')))) 
AND (EXISTS ( SELECT IBLOCK_ID
FROM b_iblock_site
WHERE IBLOCK_ID = B.ID AND (((SITE_ID='s2'))) )) 
AND ((((BE.ACTIVE='Y')))) ) 
AND (((BE.WF_STATUS_ID=1 AND BE.WF_PARENT_ELEMENT_ID IS NULL)))
ORDER BY
BE.ID desc ,BE.SORT asc
LIMIT 0, 10


План запроса

{
"query_block": {
"select_id": 1,
"read_sorted_file": {
"filesort": {
"table": {
"table_name": "BE",
"access_type": "index_merge",
"possible_keys": [
"ix_iblock_element_1",
"ix_iblock_element_4",
"ix_iblock_element_3",
"ix_iblock_element_code",
"ix_iblock_element_openregion_3",
"idx_b_iblock_element_ACTIVE",
"idx_b_iblock_element_WF_STATUS_ID"
],
"key_length": "3,4,5,5",
"index_merge": {
"intersect": {
"range": {
"key": "idx_b_iblock_element_ACTIVE",
"used_key_parts": ["ACTIVE"]
},
"range": {
"key": "ix_iblock_element_openregion_3",
"used_key_parts": ["IBLOCK_ID"]
},
"range": {
"key": "ix_iblock_element_3",
"used_key_parts": ["WF_PARENT_ELEMENT_ID"]
},
"range": {
"key": "idx_b_iblock_element_WF_STATUS_ID",
"used_key_parts": ["WF_STATUS_ID"]
}
}
},
"rows": 23529,
"filtered": 75.001,
"attached_condition": "((BE.WF_STATUS_ID = 1) and (BE.IBLOCK_ID = '2') and (BE.ACTIVE = 'Y') and isnull(BE.WF_PARENT_ELEMENT_ID))"
}
}
},
"table": {
"table_name": "b_iblock_site",
"access_type": "eq_ref",
"possible_keys": ["PRIMARY", "idx_b_iblock_site_SITE_ID"],
"key": "PRIMARY",
"key_length": "10",
"used_key_parts": ["IBLOCK_ID", "SITE_ID"],
"ref": ["letters.BE.IBLOCK_ID", "const"],
"rows": 1,
"filtered": 100,
"attached_condition": "(b_iblock_site.SITE_ID = 's2')",
"using_index": true
},
"table": {
"table_name": "B",
"access_type": "eq_ref",
"possible_keys": ["PRIMARY"],
"key": "PRIMARY",
"key_length": "4",
"used_key_parts": ["ID"],
"ref": ["letters.BE.IBLOCK_ID"],
"rows": 1,
"filtered": 100
}
}
}

Вернем как было... уберем сортировку время вполнения 0.093 секунды
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
SELECT 
BE.ID as ID,
 BE.IBLOCK_ID as IBLOCK_ID,
BE.IBLOCK_SECTION_ID as IBLOCK_SECTION_ID,
BE.NAME as NAME,
IF(EXTRACT(HOUR_SECOND
FROM
BE.ACTIVE_FROM)>0, DATE_FORMAT(BE.ACTIVE_FROM, '%d.%m.%Y %H:%i:%s'), DATE_FORMAT(BE.ACTIVE_FROM, '%d.%m.%Y')) as ACTIVE_FROM,
DATE_FORMAT(BE.TIMESTAMP_X, '%d.%m.%Y %H:%i:%s') as TIMESTAMP_X,
B.DETAIL_PAGE_URL as DETAIL_PAGE_URL,
B.LIST_PAGE_URL as LIST_PAGE_URL,
BE.DETAIL_TEXT as DETAIL_TEXT,
BE.DETAIL_TEXT_TYPE as DETAIL_TEXT_TYPE,

BE.PREVIEW_TEXT as PREVIEW_TEXT,
BE.PREVIEW_TEXT_TYPE as PREVIEW_TEXT_TYPE,
BE.PREVIEW_PICTURE as PREVIEW_PICTURE,
L.DIR as LANG_DIR,
BE.SORT as SORT,BE.CODE as CODE,

BE.XML_ID as EXTERNAL_ID,
B.IBLOCK_TYPE_ID as IBLOCK_TYPE_ID,
B.CODE as IBLOCK_CODE,
B.XML_ID as IBLOCK_EXTERNAL_ID,
B.LID as LID
FROM
b_iblock B
INNER JOIN b_lang L ON B.LID=L.LID
INNER JOIN b_iblock_element BE ON BE.IBLOCK_ID = B.ID
WHERE
1=1 
AND ( ((((BE.IBLOCK_ID = '2')))) 
AND (EXISTS ( SELECT IBLOCK_ID
FROM b_iblock_site
WHERE IBLOCK_ID = B.ID AND (((SITE_ID='s2'))) )) 
AND ((((BE.ACTIVE='Y')))) ) 
AND (((BE.WF_STATUS_ID=1 AND BE.WF_PARENT_ELEMENT_ID IS NULL)))
-- ORDER BY BE.ID desc ,BE.SORT asc
LIMIT 0, 10


План запроса


{
"query_block": {
"select_id": 1,
"table": {
"table_name": "L",
"access_type": "ALL",
"possible_keys": ["PRIMARY"],
"rows": 1,
"filtered": 100
},
"table": {
"table_name": "BE",
"access_type": "index_merge",
"possible_keys": [
"ix_iblock_element_1",
"ix_iblock_element_4",
"ix_iblock_element_3",
"ix_iblock_element_code",
"ix_iblock_element_openregion_3",
"idx_b_iblock_element_ACTIVE",
"idx_b_iblock_element_WF_STATUS_ID"
],
"key_length": "3,4,5,5",
"index_merge": {
"intersect": {
"range": {
"key": "idx_b_iblock_element_ACTIVE",
"used_key_parts": ["ACTIVE"]
},
"range": {
"key": "ix_iblock_element_openregion_3",
"used_key_parts": ["IBLOCK_ID"]
},
"range": {
"key": "ix_iblock_element_3",
"used_key_parts": ["WF_PARENT_ELEMENT_ID"]
},
"range": {
"key": "idx_b_iblock_element_WF_STATUS_ID",
"used_key_parts": ["WF_STATUS_ID"]
}
}
},
"rows": 23530,
"filtered": 75.002,
"attached_condition": "((BE.WF_STATUS_ID = 1) and (BE.IBLOCK_ID = '2') and (BE.ACTIVE = 'Y') and isnull(BE.WF_PARENT_ELEMENT_ID))"
},
"table": {
"table_name": "b_iblock_site",
"access_type": "eq_ref",
"possible_keys": ["PRIMARY", "idx_b_iblock_site_SITE_ID"],
"key": "PRIMARY",
"key_length": "10",
"used_key_parts": ["IBLOCK_ID", "SITE_ID"],
"ref": ["letters.BE.IBLOCK_ID", "const"],
"rows": 1,
"filtered": 100,
"attached_condition": "(b_iblock_site.SITE_ID = 's2')",
"using_index": true
},
"table": {
"table_name": "B",
"access_type": "eq_ref",
"possible_keys": ["PRIMARY", "b_iblock_LID_IDX_openregion"],
"key": "PRIMARY",
"key_length": "4",
"used_key_parts": ["ID"],
"ref": ["letters.BE.IBLOCK_ID"],
"rows": 1,
"filtered": 100,
"attached_condition": "(B.LID = L.LID)"
}
}
}


В общем вопрос... чего может не хватать для выполнения исходного запроса быстро?
...
Рейтинг: 0 / 0
Тормозит запрос на join с таблицей одной строкой.
    #39951706
YurikGL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добавлю что запрос висит на стадии "Copying to tmp table"
При этом mysql начинает много-много писать на диск.
Выставил параметры

max_heap_table_size = 8G
tmp_table_size = 8G

при том что общий объем базы 6.5G

Изменений никаких.
...
Рейтинг: 0 / 0
Тормозит запрос на join с таблицей одной строкой.
    #39951709
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YurikGL
Выставил параметры

max_heap_table_size = 8G
tmp_table_size = 8G
А сколько оперативки имеется? Параметры реально применились?
...
Рейтинг: 0 / 0
Тормозит запрос на join с таблицей одной строкой.
    #39951710
YurikGL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft,

Оперативки 16G
Проверял применение параметров через workbench. Он показывает, что применяется все.
Вообще скорость зависит от количества выбираемых записей.
Добавляешь условие
and BE.ID >500000 - 7 секунд выполняется
and BE.ID >700000 - 5 секунд выполняется.
На диск продолжает писать.

Такое ощущение, что он вообще всегда на диск пишет. В смысле подобные запросы...
М.б. из за того, что в одной из таблиц есть поле типа text... .но даже если это поле не выбирать (убрать из выборки) - ничего принциально не меняется.
...
Рейтинг: 0 / 0
Тормозит запрос на join с таблицей одной строкой.
    #39951736
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я уж забыл как этих битриксовых монстров оптимизировать :(
Лет 5 назад получалось...


YurikGL
Оперативки 16G
Тогда вот это
YurikGL
max_heap_table_size = 8G
tmp_table_size = 8G
уменьшайте раз в 20-100.

Есть метод не пытаться сократить дисковые операции с временными таблицами, а дать MySQL-ю быстрый диск для этого. Как вариант - расположить /tmp в оперативной памяти. Да и всю базу хорошо бы на SSD положить.
...
Рейтинг: 0 / 0
Тормозит запрос на join с таблицей одной строкой.
    #39951748
YurikGL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft,

Вот что нашел

https://dev.mysql.com/doc/refman/8.0/en/internal-temporary-tables.html

some query conditions prevent the use of an in-memory temporary table, in which case the server uses an on-disk table instead:
Presence of a BLOB or TEXT column in the table. However, the TempTable storage engine, which is the default storage engine for in-memory internal temporary tables in MySQL 8.0, supports binary large object types as of MySQL 8.0.13. See Internal Temporary Table Storage Engine.


Потом прочитал что можно задействовать вместо размещения временных таблиц на диске возможности движка aria
Выставил aria_pagecache_buffer_size = 1G
Запись на диск прекратилась... При этом время выполнения запроса упало с 12 до 10 сек.

Что совсем не густо... Т.е. на диск теперь ничего не пишет, но увеличение скорости не значительное.
...
Рейтинг: 0 / 0
Тормозит запрос на join с таблицей одной строкой.
    #39951761
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YurikGL
Выставил aria_pagecache_buffer_size = 1G
У вас MariaDB ?
Судя по описанию , это аналог innodb_buffer_pool_size для InnoDB.
Вряд ли актуально в вашем случае, если вы не используете движок Aria.
...
Рейтинг: 0 / 0
Тормозит запрос на join с таблицей одной строкой.
    #39951869
YurikGL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft,
miksoft
YurikGL
Выставил aria_pagecache_buffer_size = 1G
У вас MariaDB ?
Судя по описанию , это аналог innodb_buffer_pool_size для InnoDB.
Вряд ли актуально в вашем случае, если вы не используете движок Aria.


Вот почему актуально.

https://mariadb.com/kb/en/configuring-mariadb-for-optimal-performance/
Aria Storage Engine
MariaDB uses by default the Aria storage engine for internal temporary files. If you have many temporary files, you should set aria_pagecache_buffer_size to a reasonably large value so that temporary overflow data is not flushed to disk. The default is 128M.
...
Рейтинг: 0 / 0
Тормозит запрос на join с таблицей одной строкой.
    #39951875
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YurikGL,

Понял.

Но сама схема странная - кэшировать в одном буфере то, что не влезло в другой...
...
Рейтинг: 0 / 0
Тормозит запрос на join с таблицей одной строкой.
    #39951886
YurikGL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft
YurikGL,

Понял.

Но сама схема странная - кэшировать в одном буфере то, что не влезло в другой...


По ходу только с типами данных поиграться можно. Text и longtext исключать.
...
Рейтинг: 0 / 0
Тормозит запрос на join с таблицей одной строкой.
    #39951895
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YurikGL
miksoft
YurikGL,

Понял.

Но сама схема странная - кэшировать в одном буфере то, что не влезло в другой...


По ходу только с типами данных поиграться можно. Text и longtext исключать.
Типы данных опасно в Битриксе трогать. Может обновление не сработать или проверка целостности. Или еще что-нибудь...


Еще есть такой вариант:
miksoft
расположить /tmp в оперативной памяти. Да и всю базу хорошо бы на SSD положить.


Кстати, в самом Битриксе был советчик по оптимизации запросов. Пару раз он мне выдавал полезные советы. В нем не смотрели?
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Тормозит запрос на join с таблицей одной строкой.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]