Специально провел опыт на 9-ке под Debian-ом. Банальный каталог "товар-характеристики". Три таблицы. В первой 250 000 записей (товары), во-второй 10 000 (характеристики), третья линковочная (связывает товар->характеристика) содержащая 1-у запись из первой таблицы и 10-ть случайных записей из второй. Т.е. в линковочной таблице 2 500 000 записей. Если индекс по внешним ключам в линковочной таблице не строить, то запрос на получение всех характеристик одного товара (т.е. 2 JOIN + WHERE) занимает ~0,230 сек. После добавления двух индексов менее 0,001 сек. В 200 раз быстрее.
Индексы по внешним ключам в Postgresql
Специально провел опыт на 9-ке под Debian-ом. Банальный каталог "товар-характеристики". Три таблицы. В первой 250 000 записей (товары), во-второй 10 000 (характеристики), третья линковочная (связывает товар->характеристика) содержащая 1-у запись из первой таблицы и 10-ть случайных записей из второй. Т.е. в линковочной таблице 2 500 000 записей. Если индекс по внешним ключам в линковочной таблице не строить, то запрос на получение всех характеристик одного товара (т.е. 2 JOIN + WHERE) занимает ~0,230 сек. После добавления двух индексов менее 0,001 сек. В 200 раз быстрее.
-
Аналог PHP-шного rand() на SQL
Вот ведь бывает, нужен генератор случайных чисел в заданном диапазоне, причем нужен не на PHP, а в СУБД. Стандартный rand(x) генерит числа в…
-
Удаление ключей в redis-е по маске
В redis есть возможность получить список ключей по маске (команда KEYS). В результате можно узнать, есть ли у нас определенный набор ключей…
-
Неинтерактивная установка mysql на debian
Обычно при установке mysql apt требует пароль для root-а. Таким вот скриптом можно это процесс провести в неинтерактивном режиме: #!/bin/bash…
- Post a new comment
- 0 comments
- Post a new comment
- 0 comments