запросы к бд
запросы к бд
Сколько оптимально для страницы посылать запросов к бд. У меня сейчас посылается около 30 запросов, для вывода информации по eav атрибутам. http://prntscr.com/a7c2gi - это нормально или надо думать над оптимизацией
Re: запросы к бд
Преждевременная оптимизация === преждевременное семяизвержение...
Re: запросы к бд
вы посмотрите на сами запросы, что к чему.
Что от eav, а что и не от него.
Это фронт или админка?
Что от eav, а что и не от него.
Это фронт или админка?
Re: запросы к бд
это фронтенд под авторизацией. Лишнее убрал, сейчас если не под авторизацией сидеть то 16 запросов идет. Беспокоят вот такие странные запросы.
Вообще не ясно откуда они формируются. Вызов данного запроса идёт вот в этом коде
может кто знает что это. Просто у меня таких аж целых 5 для разных таблиц.
Код: Выделить всё
SELECT
kcu.constraint_name,
kcu.column_name,
kcu.referenced_table_name,
kcu.referenced_column_name
FROM information_schema.referential_constraints AS rc
JOIN information_schema.key_column_usage AS kcu ON
(
kcu.constraint_catalog = rc.constraint_catalog OR
(kcu.constraint_catalog IS NULL AND rc.constraint_catalog IS NULL)
) AND
kcu.constraint_schema = rc.constraint_schema AND
kcu.constraint_name = rc.constraint_name
WHERE rc.constraint_schema = database() AND kcu.table_schema = database()
AND rc.table_name = 'category_rent' AND kcu.table_name = 'category_rent'
Код: Выделить всё
$category = CategoryRent::find()->where(['alias' => $alias])->select('id,alias')->one();
Re: запросы к бд
Создайте схемы с PK, FK, UNIQUE. Посмотрите, используется ли with() в списочных данных и т.п. Кешированием, созданием доп. индексов займитесь лучше потом. Тем более количеством запросов.
Re: запросы к бд
Вот к примеру по этой же строки сколько запросов идет.
$category = CategoryRent::find()->where(['alias' => $alias])->select('id,alias')->one();
по идеи же должен идти один последний а не все 3
$category = CategoryRent::find()->where(['alias' => $alias])->select('id,alias')->one();
Код: Выделить всё
SHOW FULL COLUMNS FROM `category_rent`
Код: Выделить всё
SELECT
kcu.constraint_name,
kcu.column_name,
kcu.referenced_table_name,
kcu.referenced_column_name
FROM information_schema.referential_constraints AS rc
JOIN information_schema.key_column_usage AS kcu ON
(
kcu.constraint_catalog = rc.constraint_catalog OR
(kcu.constraint_catalog IS NULL AND rc.constraint_catalog IS NULL)
) AND
kcu.constraint_schema = rc.constraint_schema AND
kcu.constraint_name = rc.constraint_name
WHERE rc.constraint_schema = database() AND kcu.table_schema = database()
AND rc.table_name = 'category_rent' AND kcu.table_name = 'category_rent'
Код: Выделить всё
SELECT `id`, `alias` FROM `category_rent` WHERE `alias`='bike'
Re: запросы к бд
по этим вопросам у меня уже все настроено. хочу разобраться просто что за левые запросы идут к бд. Конечно несколько запросов идет ещё вот отсюда viewtopic.php?f=19&t=35595 так как вопрос так и остался не оптимизированным(Nerf писал(а):Создайте схемы с PK, FK, UNIQUE. Посмотрите, используется ли with() в списочных данных и т.п.
Re: запросы к бд
А версия какая? Мб в 2.0.7 что-то поменяли. Но запросы типа
ПС: Если сильная нужна оптимизация, то show лучше в кеш потом положить.
были всегда, нужно же откуда-то получать атрибуты моделей.SHOW FULL COLUMNS FROM `category_rent`
ПС: Если сильная нужна оптимизация, то show лучше в кеш потом положить.
Re: запросы к бд
это запрос схемы. Можно включить кэширование в настройках. Обычно включают на продакшне, т.к. на деве схема часто меняется.bakhur писал(а):Вот к примеру по этой же строки сколько запросов идет.
$category = CategoryRent::find()->where(['alias' => $alias])->select('id,alias')->one();
Код: Выделить всё
SHOW FULL COLUMNS FROM `category_rent`
Код: Выделить всё
SELECT kcu.constraint_name, kcu.column_name, kcu.referenced_table_name, kcu.referenced_column_name FROM information_schema.referential_constraints AS rc JOIN information_schema.key_column_usage AS kcu ON ( kcu.constraint_catalog = rc.constraint_catalog OR (kcu.constraint_catalog IS NULL AND rc.constraint_catalog IS NULL) ) AND kcu.constraint_schema = rc.constraint_schema AND kcu.constraint_name = rc.constraint_name WHERE rc.constraint_schema = database() AND kcu.table_schema = database() AND rc.table_name = 'category_rent' AND kcu.table_name = 'category_rent'
по идеи же должен идти один последний а не все 3Код: Выделить всё
SELECT `id`, `alias` FROM `category_rent` WHERE `alias`='bike'
Re: запросы к бд
Это в 2.0.7 или не mysql? У меня в логах SHOW FULL COLUMNS и SHOW CREATE TABLE.zelenin писал(а): это запрос схемы. Можно включить кэширование в настройках. Обычно включают на продакшне, т.к. на деве схема часто меняется.
Re: запросы к бд
да, на разных субд разные запросы. это похоже на запрос в постгресеNerf писал(а):Это в 2.0.7 или не mysql? У меня в логах SHOW FULL COLUMNS и SHOW CREATE TABLE.zelenin писал(а): это запрос схемы. Можно включить кэширование в настройках. Обычно включают на продакшне, т.к. на деве схема часто меняется.
Re: запросы к бд
А какое именно кеширование надо? у меня сейчас стоят такие настройки на кеш
Код: Выделить всё
'cache' => [
'class' => 'yii\caching\FileCache',
],
-
- Сообщения: 610
- Зарегистрирован: 2015.07.16, 10:50
Re: запросы к бд
спасибо большое:)andrei.obuhovski писал(а):http://www.yiiframework.com/doc-2.0/yii ... che-detail