PDA

Показать полную графическую версию : вопросы по LOCK таблиц и прочей оптимизации


mar
02-04-2007, 00:27
Имеется форум на mysql. На сегодняшний день имеем такую статистику ( слева цифры того, что не помечено, как удаленное, в скобках - всего):
15 форумов (24 всего),
21 006 тем (30 427 всего),
311 815 сообщений (349 273 всего),
4 895 юзеров (5 015 всего)

Система явно растущая, т.к. по отношению к осзону за последний год был явный рост:
осзн сегодня: Темы: 66 240 тем (1/3 - год назад было примерно 1/5), Сообщения: 519 399 (1/1.5 - было примерно 1/5), участников: 60,426 (1/12 сколько было не помню, да и там можно постить гостям, так что принудительного роста нет :))

Так вот, собственно, у меня вопросы
1) в отсутствии нормальнгых транзакций: - сильно ли должен напрягать систему LOCK на таблицу при записи? И чем рискую, если от него отказаться?
2) сильно ли мешают эти самые псевдоудаленные "лишние" записи (т.е. поможет ли системе, если их удалять по-настоящему)?
3) напрягают ли mysql использование прямо в запросе функций:
--- DATE_FORMAT
--- REPLACE
--- CONCAT
--- сочетание нескольких CONCAT с двумя предыдущими
--- CEILING

Потом еще что-нибудь придумаю :)

Vlad Drakula
02-04-2007, 11:09
1) в отсутствии нормальнгых транзакций: - сильно ли должен напрягать систему LOCK на таблицу при записи? И чем рискую, если от него отказаться?
чего то я лично вас не понял

2) сильно ли мешают эти самые псевдоудаленные "лишние" записи (т.е. поможет ли системе, если их удалять по-настоящему)?
вопрос в объеме ключей + лишняя фильтрация в запросе на выборку

3) напрягают ли mysql использование прямо в запросе функций:
это при выводе результатов или в момент поиска?

mar
02-04-2007, 15:59
по 3 - при обработке показ результата (т.е. select функция as мои_преобразованные_поля)

по 1 - ты лично лочишь таблицы, когда юзер (с форума, например) добавляет (сильно реже - редактирует) запись?

Vlad Drakula
02-04-2007, 16:10
mar
по 1 - ты лично лочишь таблицы, когда юзер (с форума, например) добавляет (сильно реже - редактирует) запись?
а что мешает использовать транзакции?

по 3 - при обработке показ результата (т.е. select функция as мои_преобразованные_поля)
если по итогам не сортировать то вполне нормально.

mar
02-04-2007, 16:27
а что мешает использовать транзакции?
версия mysql и тип таблиц

если по итогам не сортировать то вполне нормально.
Сортировка есть, возможна по любым позициям (но по этим в системе не применяется).

Vlad Drakula
02-04-2007, 17:05
mar
1) "версия mysql" - ниже чем 4.1?
2) база большая, наверное там дидикейтед сервер, неужели нельзя сменить тип таблиц?

mar
02-04-2007, 17:37
там выделенный сервер. А ты работал с таблицами этих самых типов, поддерживающих транзакции? что-то у меня все это (включая качество транзакций) вызывает определенные сомнения. + издержки перехода (отличия-то будут)

Vlad Drakula
02-04-2007, 17:45
mar
А ты работал с таблицами этих самых типов, поддерживающих транзакции?
мы на работе с ними достаточно долго работаем.

что-то у меня все это (включая качество транзакций)
если обваливается то все назат от катывает что и нужно.

издержки перехода (отличия-то будут)
будут, в основном по другому идут алгоритмы выборки + наблюдается некоторое замедление
а так чтоб картинально что то по другому работало не замечали...

mar
02-04-2007, 18:01
+ наблюдается некоторое замедление
вот я как раз об этом. Замедление - это то, чего мне категорически не нужно =) (Это же форум, а не ваша специализированная система)

Vlad Drakula
02-04-2007, 18:20
mar
Это же форум, а не ваша специализированная система
вот именно это же форум, а не наша специализированная системма, и нагрузку он дает меньше...

если ты будешь использовать лок таблиц то это скорее всего на много больше заметлит системму + недай бод произойдет дедлок!

mar
02-04-2007, 18:54
подумаю. Пока после некоторого тюнинга все пошло работать достаточно быстро. В конце-концов следующий тюнинг может быть просто переходом на постгрес =)

Vlad Drakula
03-04-2007, 10:46
mar
ну уж тогда на оракл к примеру ;)

mar
03-04-2007, 11:25
Vlad Drakula
интересно, но для этой задачи не нужно и даже вредно :)

Vlad Drakula
03-04-2007, 11:37
mar
почему же?

mar
03-04-2007, 13:26
покупать оракл для форума - не смешно, а использовать free-полнофункциональный ознакомительный вариант - нарушение, а free-вариант, если мне не изменяет память, не поддерживает многопроцессорность. Между тем многопроцесорность для СУБД дает реальный прирост в работе, особенно на сложных запросах.

Vlad Drakula
03-04-2007, 13:38
mar
1) сам оракл не запрещает использовать бесплатную в коммерческих целях
2) основныз ограничений два: 4Гб + один процессор

Между тем многопроцесорность для СУБД дает реальный прирост в работе, особенно на сложных запросах.
можно нарасщивать вычислительную мощь сервера, а можно просто использовать более оптимальные алгоритмы...
в реальных условиях одного процессора более чем длостаточно для большенстве ситуаций (учитывая что как парвило используются двупроцессорные сервера)

mar
03-04-2007, 14:06
Vlad Drakula
так я про эту версию и писала. Один процессор - это зло. "использовать более оптимальные алгоритмы" надо всегда, но зачем же специально ораничиваться? нет уж. Пока все летает за счет оптимизации. Следующая оптимизация будет переездом на постгрес =)

(+ Есть еще один free-вариант - без всяких органичений, но для личного использования - поставить дома и отлаживать)

Vlad Drakula
03-04-2007, 14:41
mar
постгрес - явно на много медленнее чем оракл
и полтора процессора его не спасут!




© OSzone.net 2001-2012