Оба класса выполняют разную работу, но пользуются схожими методами. Возможно нужно создать отдельный абстракнтый класс и туда запихнуть нужные свойства и методы?
Оба класса выполняют разную работу, но пользуются схожими методами. Возможно нужно создать отдельный абстракнтый класс и туда запихнуть нужные свойства и методы?
@disc А вот в var/lib/mysql/hostname.err есть кое-что интересное:
140423 00:02:02 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
140423 0:02:02 [Note] libgovernor.so not found
140423 0:02:02 [Warning] Using unique option prefix key_buffer instead of key_buffer_size is deprecated and will be removed in a future release. Please use the full name instead.
140423 0:02:02 [Note] Plugin 'FEDERATED' is disabled.
/usr/libexec/mysqld: Table 'mysql.plugin' doesn't exist
140423 0:02:02 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
140423 0:02:02 InnoDB: The InnoDB memory heap is disabled
140423 0:02:02 InnoDB: Mutexes and rw_locks use GCC atomic builtins
140423 0:02:02 InnoDB: Compressed tables use zlib 1.2.3
140423 0:02:02 InnoDB: Using Linux native AIO
140423 0:02:02 InnoDB: Initializing buffer pool, size = 128.0M
140423 0:02:02 InnoDB: Completed initialization of buffer pool
140423 0:02:02 InnoDB: highest supported file format is Barracuda.
140423 0:02:02 InnoDB: Waiting for the background threads to start
140423 0:02:03 InnoDB: 5.5.37 started; log sequence number 1588761
140423 0:02:03 [ERROR] /usr/libexec/mysqld: unknown option '--skip-locking'
140423 0:02:03 [ERROR] Aborting
@begemot_nn Таблица с тестовыми данными. Создал я всё-таки таблицу innodb. Индексы, что в innodb, что в myisam идентичны, только вот запрос SELECT * FROM items JOIN download ON items.id != download.id WHERE items.category = 13 ORDER BY items.popular LIMIT 0, 100 в innodb выполняется 7 секунд, а на myisam 0.4. Вдобавок innodb еще и на 300 мб больше(myisam 1.4гб вместе с индексами). Всётаки я остался при мнении, что select в разы быстрее в myisam.
@begemot_nn В том то и дело, что сама база 500мб(22млн), индексы на 1 гб. Не знаю важно или нет, но я копировал бд через phpmyadmin, не вытягиванием записей из одной таблицу и последующие вставкой в другую.
@begemot_nn Нет, не угадали) Просто я устал от используйте myisam, когда преобладают select|insert, но опосайтесь случайных крашей базы данных. Мне бы факты да цифры, понимаете. И раз уж я не смог такого найти, было бы логично спросить у более опытных людей.
Когда сравнивал скорость выборки, то myisam был напорядок быстрее, но это было без индексов. Когда хотел протестировать с индексами - копирование бд и измениие движка заняло уйму времени - так и не дождался. А что касается инсертов, innodb медленее тогда, когда вставка осуществляется от разных пользовалей. Я к тому, что если нужно за раз вставить большое количество записей, то явное указание начала транзакции решает проблему со скоростью. Поправте, если что.
@begemot_nn Если бы была высокая нагрузка, то я бы не задавал делетанских вопросов) Просто если myisam и правда быстрее, то почему его не использовать. Мне интересно как часто они ломаются, быстро ли восстанавивает repair table ту же бд с 1 гб. Выходит, если сервер справляется, то лучше юзать innodb? И на сколько примерно innodb медленнее при селектах?