в данный момент стоит mySql 5.1, размер файла ibdata1 примерно 18М. переношу базы данных магазинов ocStore, в которых почти все таблицы myISAM на mySql 5.6. И случается "чудо" - размер файла ibdata1 становится равным 1Г? Как это можно объяснить?
первое и самое главное: зачем? какую приследуешь цель? Максимум стоит обновится до 5.5 версии. а в перспективе заменить на MariaDB. у MySQL 5.6 упор был сделан на innodb, т.к. вся команда ушла) Попробуй сделать Оптимизацию таблиц.
Было желание получить более высокую производительность. Так чтобы увеличить производительность стоит ли переходить на другую версию mySQL?
Стал разбираться с конфигурацией. почитал здесь: http://habrahabr.ru/post/108418/ первое с чего начал - это query_cache_size по умолчанию стоит 0 (т. е. кеш отключен, что есть плохо), поставил 128М. Тестировал на Opencart. Запросы, которые занимали время 0.03 сек. стали выполняться в два раза быстрее, а именно за 0.014 сек. разбираюсь дальше.
sitecreator, можешь так же скачать mysqltuner и с ним поиграться. только нужно будет установить perl.
Вопрос по расположению my.ini в windows. my.ini находится в двух местах: C:\ProgramData\MySQL\MySQL Server 5.1 C:\Program Files\MySQL\MySQL Server 5.1 PHPMyAdmin 4.0 берет информацию об my.ini из папки C:\ProgramData\MySQL\MySQL Server 5.1, а утилита MySQL WorkBench из C:\Program Files\MySQL\MySQL Server 5.1 Сам сервер то откуда берет my.ini? как узнать?
C:\ProgramData\MySQL\MySQL Server 5.1 - это папка с БД, там не должно быть никаких my.ini my.ini, а так же другие варианты конфигов живут в C:\Program Files\MySQL\MySQL Server 5.1
PHPMyAdmin дает такое значение query cache size , явно неверное. Код: query cache size 0 Байт А MySQL WorkBench такое: Как заставить phpMyAdmin брать и править нужные значения в НУЖНОМ (правильном) файле?
использую PHPMyAdmin 4.0, это последняя. лечил проблему так: в папке C:\ProgramData\MySQL\MySQL Server 5.1 переименовал файл конфигурации в my_.ini. далее перезагрузил сервер mySQL, перезагрузил браузер и запустил PHPMyAdmin. теперь он видит как надо. все проверял с сервером MySQL Server 5.1 -------------------------------- а вот когда установил MySQL Server 5.6, то заметил, что my.ini находится только в папке C:\ProgramData\MySQL\MySQL Server 5.6, а в папке C:\Program Files\MySQL\MySQL Server 5.6 его вообще нету. И MySQL WorkBench вообще не находит my.ini от Server 5.6, т. е. с помощью продукта для настройки MySQL(причем, последней версии) я не могу настроить сервер MySQL Server 5.6, и это сразу после установки обоих продуктов. Вроде продукты от одного разработчика (Oracle?), а друг друга понять полностью не могут. --------------------- 5.6 вообще удалил после чудес с файлом в 1 ГИГ (ibdata1). Это при том, что у меня все базы занимают 65М и все таблицы в них MyISAM. *********************** А вообще есть желание, чтобы при чтении из базы обращение к HDD отсутствовало, т. е. все таблицы размещались бы в оперативной памяти и вся информация бралась оттуда. Такова цель.
потому что версии 5.1, 5.5 разрабатывали одни люди, а 5.6 другие. с базой в 65 метров никакого профита не получишь, а вот например при сбое потеряешь всю базу.
понял, что про 5.6 можно забыть. и, видимо, про 5.7 тем более. которую, кстати, предлагают (oracle) для тестов устанавливать при переходе на 5.5 я могу получить выигрыш в производительности? Или лучше ограничиться настройками (оптимизацией) 5.1? При верстке на локальной машине хотел бы получить максимально быструю перезагрузку страницы. А то ведь меняешь в коде один цвет (символ и т. д.) и ждешь потом перезагрузки страницы чтобы увидеть результат, а хотелось бы мгновенно.
LiveEdit? про него речь? Или есть еще что-то, мне незнакомое пока? есть режим LiveEdit для Сhrome, но работает только со статичным HTML. А если у нас все на PHP, то просто и тупо перезагружается вся страница, соответственно со всеми обращениями к базе данных. Поэтому и появилось желание хотя бы ускорить работу БД, а потом и веб-сервера и т.д. --- добавлено: 7 май 2013 в 18:08 --- спасибо. останусь на 5.1 на локалке, тем более, что на сервере у меня тоже 5.1 стоит. для тестирования и разработки лучше иметь одинаковые версии ПО.
Как я понял, полезное в 5.6 есть Performance Schema, т. е. встроенное средство мониторинга и диагностики.
Стал разбираться с конфигурацией. почитал здесь: http://habrahabr.ru/post/108418/ первое с чего начал - это query_cache_size по умолчанию стоит 0 (т. е. кеш отключен, что есть плохо), поставил 128М. Тестировал на Opencart. Запросы, которые занимали время 0.03 сек. стали выполняться в два раза быстрее, а именно за 0.014 сек. разбираюсь дальше.
Не верю что по умолчанию стоит query_cache_size = 0 ето размер кешаКак минимум 16 стояло значения 0 могло стоять в параметра query_cache_type но ето не размер кеша а включения его, соответственно 1 включено 0 выключено по умолчанию етого параметра нет в списку С дефолтной базой товаров или 100 товаров понятно что он будет нормально работать, добавь от 20 000 товаров и от 1000 категорий тогда покажи результаты Тут читаем небольшой рецепт для Opencart
Как минимум 2 варианта на вскидку: 1. Используется общая бд и потому ibdata1 больше ожидаемого размера за счет других баз 2. Используются серьезные настройки бд и потому преаллокация даже на пустой базе обеспечит 1 гигабайт этого файлика. Рыть в сторону опции innodb_data_file_path в файле my.ini. Касательно производительности, тут query_cache_size имеет посредственное отношение. Вначале смотрим где тормозит, а дальше действуем по обстоятельствам. Либо нет нужных индексов, либо кривые запросы, либо маловат буфер сортировки, либо ... Вариантов 100500, все не перечислить. Вобщем оптимизация начинается с поиска тормозящих запросов и конструкции explain.