
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
26.05.2015, 11:39:08
|
|||
|---|---|---|---|
Оптимизация альтов по скорости |
|||
|
#18+
Мы генерируем таблицы в мускуле на основе текстового файла, в котором задаются поля и параметры, ну, типа так Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Как вы наверное понимаете, с помощью create table создается только таблица с айдишником по первой строке, а все остальное альтами Короче, на проектах, в которых набралось около 30 таблиц эти альты что-то жестко тормозят и это на пустых таблицах!! Большинство альтов срабатывают за 40мс, но бывает и по полсекунды, а некоторые иногда и на секунду с лишним тянут. И это, повторяю, на пустых таблицах!! Подскажите, может есть какие-то хаки как альты можно ускорить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.05.2015, 12:43:31
|
|||
|---|---|---|---|
Оптимизация альтов по скорости |
|||
|
#18+
LumixКак вы наверное понимаете, с помощью create table создается только таблица с айдишником по первой строке, а все остальное альтамиНе понимаем. Почему сразу не сгенерить create со всеми полями? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.05.2015, 20:30:29
|
|||
|---|---|---|---|
Оптимизация альтов по скорости |
|||
|
#18+
tanglirLumixКак вы наверное понимаете, с помощью create table создается только таблица с айдишником по первой строке, а все остальное альтамиНе понимаем. Почему сразу не сгенерить create со всеми полями? Потому, что когда кто-то вносит изменение в этот файл, ну например, изменение имени колонки, тогда create table перестает работать, ведь таблица уже создана ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.05.2015, 20:35:54
|
|||
|---|---|---|---|
Оптимизация альтов по скорости |
|||
|
#18+
LumixПотому, что когда кто-то вносит изменение в этот файл, ну например, изменение имени колонки, тогда create table перестает работать, ведь таблица уже созданаИ что, это бывает прям так часто, что секунда прям важна? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.05.2015, 21:03:15
|
|||
|---|---|---|---|
Оптимизация альтов по скорости |
|||
|
#18+
Lumixкогда кто-то вносит изменение в этот файл, ну например, изменение имени колонки, тогда create table перестает работать, ведь таблица уже создана Ну сделай по уму - старую переименуй, новую создай, перелей данные, старую дропни. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
27.05.2015, 06:40:09
|
|||
|---|---|---|---|
Оптимизация альтов по скорости |
|||
|
#18+
LumixПотому, что когда кто-то вносит изменение в этот файл, ну например, изменение имени колонки, тогда create table перестает работать, ведь таблица уже созданаLumixМы генерируем таблицыТогда уж пишите как-нибудь наподобие "мы синхронизируем структуру таблиц с...". Слово "генерируем" лично мне однозначно говорит о том, что на момент генерации таблиц нет. Ну и действительно, неужели плюс-минус секунда так важна при выполнении разовой операции? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.05.2015, 18:27:26
|
|||
|---|---|---|---|
Оптимизация альтов по скорости |
|||
|
#18+
AkinaНу сделай по уму - старую переименуй, новую создай, перелей данные, старую дропни. Чё-то где-то в доках я когда-то читал, что вроде мускул сам это делает при альтах на добавление, разве нет? tanglirНу и действительно, неужели плюс-минус секунда так важна при выполнении разовой операции? 20 таблиц по примерно 15 полей в каждой итого примерно 300 на каждую позицию два альта + альты на создание индексов итого 600-700 запросов поскольку это веб-приложение и его установка/апдейт происходит с помощью http://site.ru/install/ а на серверах стоит лимит в 30 секунд на выполнение скрипта именно поэтому все альты не успевают сработать * * * * * * Читая эту ветку я пока склоняюсь к такой мысли: перед создание таблицы проверять её наличие, если она есть тогда фигачим альтами, а если её нет, тогда фигачим create'ом... эх... ещё один сборщик составлять и отлаживать. :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.05.2015, 18:30:52
|
|||
|---|---|---|---|
Оптимизация альтов по скорости |
|||
|
#18+
Lumixи это на пустых таблицах!!может, тогда не ломать голову и сразу делать drop if exists + create? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.05.2015, 18:37:14
|
|||
|---|---|---|---|
Оптимизация альтов по скорости |
|||
|
#18+
Lumixа на серверах стоит лимит в 30 секунд на выполнение скрипта именно поэтому все альты не успевают сработатьРазбивайте на фрагменты. Некоторые CMS умудряются при таких ограничениях собственные бэкапы в пару ГБ делать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.05.2015, 18:42:45
|
|||
|---|---|---|---|
Оптимизация альтов по скорости |
|||
|
#18+
Lumix20 таблиц по примерно 15 полей в каждой итого примерно 300 на каждую позицию два альта + альты на создание индексов итого 600-700 запросовКстати, в одном альте можно делать сразу несколько изменений у одной таблицы. Так что, возможно, хватит и 20 альтов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.05.2015, 18:48:36
|
|||
|---|---|---|---|
Оптимизация альтов по скорости |
|||
|
#18+
miksoftLumix20 таблиц по примерно 15 полей в каждой итого примерно 300 на каждую позицию два альта + альты на создание индексов итого 600-700 запросовКстати, в одном альте можно делать сразу несколько изменений у одной таблицы. Так что, возможно, хватит и 20 альтов. Опа.... а можно поподробнее?? Неужели Код: sql 1. прям вообще быстрее, чем Код: sql 1. 2. 3. 4. ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.05.2015, 18:56:04
|
|||
|---|---|---|---|
Оптимизация альтов по скорости |
|||
|
#18+
miksoftНекоторые CMS умудряются при таких ограничениях собственные бэкапы в пару ГБ делать. на наверное они не сами бекап делают, а из скриптов через командную строку кидают приказ на что-нибудь типа mysqldump мы делаем именно так и бекапы работают очень и очень быстро а заливаем тоже через комнадную строку mysql db_name > dump.bkp.sql получается очень и очень быстро ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.05.2015, 19:01:53
|
|||
|---|---|---|---|
Оптимизация альтов по скорости |
|||
|
#18+
LumixОпа.... а можно поподробнее?? http://dev.mysql.com/doc/refman/5.5/en/alter-table.html [alter_specification [, alter_specification] ...] LumixНеужели Код: sql 1. прям вообще быстрее, чем Код: sql 1. 2. 3. 4. ???Если в таблице есть данные, то почти наверняка - да, т.к. некоторые альты внутри себя фактически выполняют копирование всей таблицы. А одно копирование явно быстрее, чем несколько копирований. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=47&tablet=1&tid=1833145]: |
0ms |
get settings: |
5ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
66ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
26ms |
get tp. blocked users: |
1ms |
| others: | 193ms |
| total: | 310ms |

| 0 / 0 |
