inpost
15.09.2013 - 17:46
По поводу полнотекстового индекса - он же уже давно есть в InnoDB
_____________
Обучаю веб-программированию качественно и не дорого:
http://school-php.comФрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Цитата (inpost @ 15.09.2013 - 13:46) |
По поводу полнотекстового индекса - он же уже давно есть в InnoDB |
Не давно, в том и дело. Только с 5.6 версии.
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.
Цитата |
Неее... вы говорите "нахрена нам этот новомодный InnoDB, когда у меня и с MyISAM все работает". |
Чиво??? Где это я так сказал? Я даже показал кусок своей базы, где черным по белому видно, какой движок я в основном юзаю.
Цитата |
Да, вот для них специально - MyISAM - плохо. Начинайте с InnoDB. Категорично и без объяснений - им на этом этапе это не нужно, |
Вот именно, без обьяснений. Есть только одно верное мнение, и оно моё. Ладно, все ясно.
Я не буду больше спорить, я просто напишу потом статью, раз зашел разговор. Объективно напишу, без категоричных "я все знаю лучше всех". Просто обзор, люди имеют право выбора.
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.
Цитата (glock18 @ 15.09.2013 - 08:40) |
Вызов my_db_query абсолютно идентичен идейно yii::getsomething()->dosomething(). |
Согласен , у меня знакомый тоже оборачивает, до сих пор не понимаю зачем. Разве что количество запросов подсчитать, или ... да хотя сомнительно это всё.
_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
Гость_user
16.09.2013 - 00:44
А топикстартера по существу то вопросы есть? Про 3НФ и производительность JOIN-ов?
Про 3НФ пока нет, пока все понятно. А про производительность JOIN'ов любопытно.
Кстати.
Twin писал, что-то по поводу того, что до тех пор, пока будет польза для форума, он не предпримет никаких мер к оппоненту. Скажу так. Из ваших споров я узнал достаточно много информации, поэтому польза есть и это однозначно. Узнал то, на какой информации нужно будет заострить внимание. Вопрос выбора движка - не статичный. Есть плюсы и минусы одних и других. Догм нет. Нужно просто анализировать конкретный случай и делать выводы о применимости одного или другого. Практические, приземленные, привязанные к практике примеры работы движков тоже были интересны. С ACID никогда не сталкивался. Любопытная тема. Я так понимаю - это нечто, что может пригодиться на практике, значит надо будет понять это дело. В книге пока до этого не дошел, но теперь знаю, что это важно.
Если вернуться к началу, то любопытно еще раз обобщить, в свете всего сказанного, какие запросы и в каких случаях лучше использовать для таблиц, связанных по внешнему ключу?
P.S. Я бы попросил активистов этой темы заглянуть в соседнюю по поводу теории реляционной модели данных. Моя. В теме разбираетесь хорошо. Было бы интересно услышать ваши поправки и объяснения.
Гость_user
16.09.2013 - 01:42
Посмотрел оглавление книги, которую читаю. Там информация изложена безотносительно к РСУБД. Ничего нет про движки MySQL. Посоветуйте, пожалуйста, какой-либо источник информации на эту тему, желательно книгу.
MiksIr
Цитата |
> Вот именно, без обьяснений. Есть только одно верное мнение, и оно моё Осилить дочитать до конца фразу не получилось? Или просто повели себя как троль - взяли что нравится, остальное пропустили. |
У нас разное отношение к форуму, вот почему так.
Вам важно утвердить собственное мнение, мне важно качество информации. Вы не понимаете, что любая тема живет не один день, она попадает в гуглы и яндексы. И потом по запросу приходят люди и видят ваши ктегоричные "плохо-оченьплохо" без объяснений. Они не видят продолжения, не видят вот этого:
Цитата |
но я вполне готов дать объяснения на других этапах |
, это вы сделали только в процессе спора со мной. Потому и я не увидел эту часть фразы. Специально не увидел, ибо продолжения и не было бы. Или было бы в другой теме, которая затеряется тут через неделю.Но вам вполне достаточно собственного мнения.
А вот людям не достаточно, чем подтверждение вопросы Гость_user.
Вы пытаетесь уличить меня в том, что я советую вместо InnoDB применять MyISAM, но ведь это не так. Я даже рассказал, что сам в большей части использую InnoDB. Но я не говорю, что MyISAM это очень-очень плохо. говорю, что есть моменты, где никак не обойтись без него.
Послушав вас, люди будут бояться её как огня, ведь такой спец сказал!
Цитата |
Ну давайте еще раз - чем MyISAM лучше для OLTP приложений. |
Ну давайте еще раз, коли не видите очевидного, что я повторил неоднократно.
![user posted image](http://irbis-school.com/upload/vmysql.jpg)
Смотрим картинку (это с моего хостинга) и думаем - что же блин делать, если нужен полнотекстовый поиск? Ну да, вам рассуждать просто, если хостер не дает 5.6.4, то нужно бежать от такого хостера. Вчера бежали от одного, что он не предоставляет PHP 5.3.7, сегодня от другого, тут с MySQL не все в порядке. Завтра еще куда.
Я уже не говорю, что приложение разрабатывалось три года назад, когда в InnoDB даже в намеках им не пахло. Но оставим день вчерашний, сегодня то что делать?
Вы живете завтрашним днем, у вас скорее всего нет потребности пользоваться шаредами. На основной работе я тоже могу себе это позволить. Но тут то форум, тут обычные смертные, которые кстати пользуются Денвером в большей части. А там стоит 5.1 на сегодняшний день.
И вот такой новичек, поставивший Денвер, купивший обычный шаред, встречается с вашей рекомендацией тут на форуме и медленно впадает в ступор. С одной стороны тут гуру "без объяснения причин" заявляет, что MyISAM это вселенское зло, с другой стороны не видит возможности иначе построить полнотекстовый поиск.
Это вы считаете верным подходом к подаче информации. А меня объявили троллем. За то, что я стараюсь сделать эту информацию прозрачной, показывая обе стороны медали.
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.
Цитата (Гость_user @ 15.09.2013 - 21:42) |
Посмотрел оглавление книги, которую читаю. Там информация изложена безотносительно к РСУБД. Ничего нет про движки MySQL. Посоветуйте, пожалуйста, какой-либо источник информации на эту тему, желательно книгу. |
Насчет книги, не знаю что посоветовать. Любая книга субъективна. Но раз пошла такая пьянка, засвечу некоторую информацию с наших курсов, по крайней мере тут я могу ответить сам за свои слова. Шаг так и называется
Движки БД
Цитата |
MYSQL предлагает на выбор несколько движков для таблиц в зависимости от типов таблиц. Использование подходящего движка для таблицы может дать прибавку в скорости. В некоторых ситуациях использование определенного движка может быть необходимым для достижения нужной бизнес-логики приложения (распространенный пример - InnoDB). Сперва посмотрим какие движки нам предлагает MYSQL, чтобы понять какие из них и для чего требуются (выделю только наиболее часто использующиеся, и представляющие некоторую потенциальную пользу): MyISAM (используется по умолчанию, если для этого не сконфигурирован другой движок) Минусы: Не имеет поддержки транзакций. Поддерживает только table-lock Плюсы: Имеет очень хорошую скорость выборки. Поддерживает fulltext-индексы. InnoDB Минусы: Сравнительно меньшая скорость выборки по сравнению с Myisam Плюсы: Есть поддержка транзакций. Поддерживает row-lock. Поддерживаются внешние ключи. Поддерживает fulltext-индексы только начиная с версии 5.6.4. Memory Вот ряд их особенностей: Все данные хранятся в памяти (отсюда и название движка), в файле хранится только описание таблицы. Как следствие, данные в таких таблицах уязвимы для падения сервера, выключения питания - поэтому использовать такие таблицы рекомендуется только как временные хранилища (или кеш) для данных из других таблиц Поскольку, данные хранятся в памяти, доступ к ним совершается заметно быстрее, чем к данным из таблиц, данные которых находятся в файлах. Когда их стоит использовать: Работа с временными и некритическими данными (например, кеш). Требуется хранилище в оперативной памяти, дающее соответственно высокую скорость чтения. Только в случаях, когда данные меняются достаточно редко
Как можно убедиться, Memory подходит только в качестве кеш-хранилища. Рекомендую так же избегать больших таблиц для Memory, поскольку при нехватке ОП данные будут свопиться на жесткий диск, и выгоды от использования этого движка не будет
Чуть сложнее определиться с типами InnoDb и MyIsam. А именно: "какой и когда лучше использовать?".
Выше было указано, что скорость MyIsam при выборке несколько выше, чем InnoDb. Тем не менее, в реальных условиях это не всегда так. По причине того, что MyIsam использует table-lock для записи (то есть блокирует всю таблицу -> делает невозможной выборку из нее до тех пор, пока вставка не будет завершена), следовательно использовать этот движок на таблицах, в которые ведется частая запись, просто контрпродуктивно. MyIsam не предлагает никаких особых средств для контроля целостности данных, поэтому использовать ее не рекомендуется так же в тех случаях, если целостность данных критически важна (например, финансовые транзакции).
Из соображений эффективности MyIsam подходит лучше разве что для таблиц-справочников.
Замечание:
При всех недостатках MyIsam, она остается достаточно популярной благодаря использованию по умолчанию. Тем не менее, я бы порекомендовал подходить к выбору движка для таблицы более ответственно. |
Автор кстати не я, но полностью разделяю и поддерживаю эти постулаты. Иначе их бы небыло в курсах.
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.