[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как верно расставить индексы. Объясните...
Страницы: 1, 2, 3, 4
T1grOK
Оцени возможность партиционирования по диапазону значений. Какова доля тех, кто будет выбиваться из диапазона(партиции)? Например по man_id. Здесь можно построить нехитрый запрос для проверки жизнеспособности и эффективности решения.

_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
Oyeme
Цитата
Если использовать партиции, то разве я не сделаю хуже в том случае, когда мне нужно отсортировать данные по полям БЕЗ даты?

Что значит без даты? Поподробней.

Возможно Вам проще будет мигрировать в другие таблици все те что без даты.А все что с датой использовать партиции.

Цитата
Увы в виду спецэфической сферы бывает так, что и через год возвращается человек для того, чтобы почитать о старых письмах. Для этого даже делаются специальные рассылки на праздники в виде спама, чтобы вернуть бывших клиентов по плану "вас заждались". Некоторые ведут переписки очень долго, может быть пол года-год. Даже если что-то и отправлять в архив, то это отправлять уже те данные, которым более года.


Что-то нужно придумать.Например промежуточная таблица которая уже хранит все данные об пользователях как последний визит,последние сообщение итд.
Чтобы не тянуть с архивов по многу раз..
Цитата

sphinx
Его использовать для int + tinyint полей? Я всегда считал, что sphinx используется в первую очередь для полнотекстового поиска. Я тут не прав и в моей ситуации он пригодится?


Пригодится когда Вы будете искать по имени или фамилии.


Мой совет разбивать все что можно на более мелкое и стараться не вычеслять и не тащить с архивов что можно сделать уже зарание.
stump
В оффис топ! Что интересного читать чтобы правильно расставить индексы в примере от ТС?!

_____________
Трус не играет в хокей
Valick
stump, очень много надо всего прочитать, а потом еще и научиться это применять smile.gif
И как я сразу сказал, индексы - это только "полбеды"...
тут и саму архитектуру БД можно ушатать до неузнаваемости в процессе оптимизации

Как я уже сказал, лично мне не нравиться денормализация в таблице, и то что что-то там куда-то может попадать, я люблю что бы попадало именно туда куда должно попадать.

_____________
Стимулятор ~yoomoney - 41001303250491
stump
Valick это я как оффис топ чтобы не к рецепу обращаться, а к знаниям которые выдадут 100500 рецептов smile.gif. Я сам пока читаю Зайцева smile.gif.

_____________
Трус не играет в хокей
inpost
Valick
А как бы ты нормализовал таблицу данную, покажи пример?

Oyeme
"Что значит без даты? Поподробней."
SELECT `id`,`subject`,`prew`,`man_saw`,`girl_id`
FROM `mess_sett`
WHERE `man_id` = ".(int)$_SESSION['user_data']['id']."
AND `man_where` = '".es($GET['sel'])."'
AND `man_group` = ".(int)$GET['id']."
ORDER BY `man_saw` DESC


_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Valick
Цитата (inpost @ 30.04.2015 - 19:04)
А как бы ты нормализовал таблицу данную, покажи пример?

ну сделал бы поле sex 0-девочки, 1-мальчики (тут очевидно ху из ху biggrin.gif) и составной индекс на sex+id для уникальности

_____________
Стимулятор ~yoomoney - 41001303250491
inpost
Valick
Я о том, что тут 2 поля итак нужны. Тут же переписка "кто" и "с кем"

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Valick
девочка девочке не может написать? sad.gif
теперь понятно откуда фейковые аки

_____________
Стимулятор ~yoomoney - 41001303250491
inpost
Перелинковка: http://phpforum.su/index.php?showtopic=86174 , там о партициях. wink.gif Мне показалось много всего, поэтому вынес отдельно.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
S.Chushkin
Цитата (Oyeme @ 30.04.2015 - 19:04)
Каждому пользователю своя таблица данных что ускорить поиск в разы.

Больше такое не советуйте, а то забросают гнилыми помидорами wink.gif

_____________
Рекламка / ad.pesow.com Хрень / mr-1.ru
S.Chushkin
Цитата (T1grOK @ 30.04.2015 - 19:20)
Я с кардинальным предложением, воспользоваться партициями smile.gif

Разбиение здесь не поможет. И даже может навредить.
п.с. Когда-то где-то уже говорили об этом.

_____________
Рекламка / ad.pesow.com Хрень / mr-1.ru
S.Chushkin
Прежде чем советовать, пару вопросов:
1. Как быстро выполняется запрос, приведённый Вами в 1-ом топике? (и сколько строк возвращается запросом)
2. Чего Вы хотите добиться от оптимизации? Каких результатов?

_____________
Рекламка / ad.pesow.com Хрень / mr-1.ru
inpost
S.Chushkin
1. Я расписал, но мне не сложно повториться:
Запрос по умолчанию по man_id вернёт около 1500-2500 переписок.
Если к запросу добавляем `man_group` (тут подразумевает, что переписки можно блокировать/банить/удалять), то записей становится около 1000-2000.
Если к запросу добавляем `man_where` в итоге сокращается количество записей до 980-1950 (всего настоящих переписок может быть до 50-и, остальное идёт как спам во входящих). outbox - это обозначение, когда переписка в отправленных находится.

2. Научиться понимать работу индексов, когда стоит применять, а когда это только лишним будет. Так как прошлая реализация немного неоптимальна, я решил структуру обновить, всё переписать. Раз уж пересоздаю таблицу, то почему бы сразу не создать правильно, чтобы не повторилось той же проблемы, что в прошлый раз. Кроме этого я хочу стать гуру wink.gif

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
S.Chushkin
Вы не ответили на 1-й вопрос.
Собственно, и на второй не ответили. Вообще, ответ на этот связан с ответом на 1-й.

п.с.
Стремление к пониманию и "Гуру" это похвально, но это из разряда "про сферического коня". Я же задал конкретные тех.вопросы.

_____________
Рекламка / ad.pesow.com Хрень / mr-1.ru
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.