Покинул форум
Сообщений всего: 808
Дата рег-ции: Янв. 2010 Откуда: Самара
Помог: 17 раз(а)
armancho7777777
Спор зашел в тупик.
armancho7777777 пишет:
InnoDB по барабану.
С грамотной расстановкой индексов полей он Вам выплюнет на раз-два.
Ну если 1-2 тыс запрос в секунду то да может справиться, но а если 10-20 тыс, то вот такие вот запросы и нагрузят бд, и опять же речь идет о описании категорий...
----- Так было, так есть и так будет
armancho7777777
Отправлено: 28 Июня, 2013 - 19:03:17
Активный участник
Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011 Откуда: Москва
Помог: 221 раз(а)
vanicon пишет:
но это же костыль
Что ???
vanicon
Отправлено: 28 Июня, 2013 - 19:04:27
Частый посетитель
Покинул форум
Сообщений всего: 808
Дата рег-ции: Янв. 2010 Откуда: Самара
Помог: 17 раз(а)
armancho7777777 пишет:
Что ???
А можно объяснить смысл использования в данном случае хранимых процедур?
----- Так было, так есть и так будет
armancho7777777
Отправлено: 28 Июня, 2013 - 19:19:39
Активный участник
Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011 Откуда: Москва
Помог: 221 раз(а)
vanicon пишет:
А можно объяснить смысл использования в данном случае хранимых процедур?
vanicon пишет:
но а если 10-20 тыс таких запросов
vanicon
Отправлено: 28 Июня, 2013 - 19:21:48
Частый посетитель
Покинул форум
Сообщений всего: 808
Дата рег-ции: Янв. 2010 Откуда: Самара
Помог: 17 раз(а)
armancho7777777
Не не то, я имею ввиду каким образом хранимые процедуры тут этот процесс сгладят.
Можно на пальцах...
----- Так было, так есть и так будет
armancho7777777
Отправлено: 28 Июня, 2013 - 19:23:54
Активный участник
Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011 Откуда: Москва
Помог: 221 раз(а)
vanicon, Вы может у гугла спросите?
Терпеть не могу объяснять людям что-то,
которые не знают и спорят, спорят... (Добавление)
Спорите, утверждаете, но даже не знаете что mysql запросы кеширует.
Об остальном я уже и не заикаюсь.
Покинул форум
Сообщений всего: 808
Дата рег-ции: Янв. 2010 Откуда: Самара
Помог: 17 раз(а)
armancho7777777
Конечно могу, но чуть позже...
armancho7777777 пишет:
Терпеть не могу объяснять людям что-то,
которые не знают и спорят, спорят...
А вот в этом месте можно по подробнее, где вы считаете что я не то пишу, мне же тоже интересно где можно сделать лучше и т.п, насчет хранимых процедур и масштабируемости пишут что две несовместимые вещи, сам не пробовал, но думаю что верно, как вы считаете?
Также хочется прочитать ответ на вопрос, конкретнее к теме, вы и правда считаете что вынос подобного поля в отдельную таблицу это правильно?
----- Так было, так есть и так будет
EuGen
Отправлено: 28 Июня, 2013 - 19:31:24
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Начиная с версии 5.6 InnoDB поддерживает полнотекстовый поиск. Поэтому, если я верно понял суть спора - то он не имеет смысла.
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
vanicon
Отправлено: 28 Июня, 2013 - 19:32:21
Частый посетитель
Покинул форум
Сообщений всего: 808
Дата рег-ции: Янв. 2010 Откуда: Самара
Помог: 17 раз(а)
armancho7777777 пишет:
Спорите, утверждаете, но даже не знаете что mysql запросы кеширует.
Об остальном я уже и не заикаюсь.
Я знаю что запросы кэшируются, но разницы большой нет, я считаю вынос в отдельную таблицу неверным шагом, и разницы нет когда mysql рухнет...
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Отвечая на вопрос про поиск - я бы использовал Sphinx. Просто потому, что он для этого предназначен. Он имеет возможность искать независимо от окончания (в том числе множественные словоформы, окончания которых нестандартны) и снимает нагрузку с СУБД. Если быть более корректным, то он не снимает эту нагрузку совсем, но позволяет выделить удобное время для индексирования, тем самым снизив нагрузку в критичные часы.
Насчёт варианта вынесения поля - не очень понял, где порождается "тяжёлый запрос" (LEFT JOIN по PRIMARY KEY тяжёлый?) Не очень понятно и то, что заставляет считать хранимые процедуры немасштабируемым решением. Можно, конечно, написать код так, что он будет работать только на небольших таблицах, однако же это нужно постараться (или - напротив - совсем не стараться и написать непрофессионально). Дело другое - то, что я не знаю, зачем использовать хранимые процедуры для поиска. Здесь уже явно напрашивается сторонний поисковый движок - например, тот же Sphinx. Как правило, для Sphinx требуется написание VIEW, но не процедуры.
Иногда, кстати, даже рекомендуется вертикальное партиционирование таблиц (то есть вынесение части таблицы в другую по связи 1:1) - например, если вспомнить, что в MySQL предельно допустимый размер строки вместе со всеми указателями и разделителями есть 65536 байт. Или если в таблице есть объёмные поля, которые меняются редко, тогда как другие - запрашиваются часто - примеров можно придумать много.
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
vanicon
Отправлено: 28 Июня, 2013 - 19:46:52
Частый посетитель
Покинул форум
Сообщений всего: 808
Дата рег-ции: Янв. 2010 Откуда: Самара
Помог: 17 раз(а)
armancho7777777
Прошу прощение если чем то задел, в любом случае спор закончен, просто смотрел как в других cms, да и сам не видел смысла почему вы утверждали что нужно выносить в другую таблицу какое-то поле, поэтому настаивал на своем...
----- Так было, так есть и так будет
Hapson
Отправлено: 28 Июня, 2013 - 19:50:53
Посетитель
Покинул форум
Сообщений всего: 356
Дата рег-ции: Июнь 2013 Откуда: Ставропольский край
Помог: 10 раз(а)
[+]
То есть я так понял, что все валить в большие таблицы?
Категории, статьи, комменты, пользователи...
Так?
А как же нормализация?
----- ПЫХ тут - ходи туда, прежде чем писать сюда (толку больше будет)
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.