Категория: Общая информация (73)
| Общая информация » Тестирование скорости работы MySQL и PostgreSQL |
1.11.2.3 Тестирование скорости работы MySQL и PostgreSQL
Единственная тестовая система с открытым кодом, способная тестировать скорость работы как MySQL Server, так и PostgreSQL (а также других СУБД), о существовании которой нам известно, - наша собственная разработка. Ее можно найти по адресу http://www.mysql.com/information/benchmarks.html.
Мы много раз просили разработчиков PostgreSQL и некоторых пользователей PostgreSQL помочь нам расширить эту систему и превратить ее в совершенный инструмент тестирования скорости работы СУБД, но, к сожалению, безрезультатно. |
|
теги: MySQL, PostgreSQL |
| |
| Общая информация » Сравнение возможностей MySQL и PostgreSQL |
1.11.2.2 Сравнение возможностей MySQL и PostgreSQL
На странице crash-me (http://www.mysql.com/information/crash-me.php) приведен список ограничений и особенностей СУБД, которые могут быть обнаружены автоматически с помощью специальных программ. Однако не стоит забывать о том, что многие ограничения могут быть изменены настройкой соответствующих баз данных. Впрочем, эта web-страница оказывается очень кстати, если необходимо, чтобы создаваемое приложение нормально работало с несколькими СУБД или для перевода приложения с одной СУБД в другую. |
|
теги: MySQL, СУБД, PostgreSQL |
| |
| Общая информация » Стратегии развития MySQL и PostgreSQL |
1.11.2.1 Стратегии развития MySQL и PostgreSQL
Расширяя возможности MySQL мы всегда стараемся принять оптимальное решение. Код должен быть настолько хорош, чтобы в обозримом будущем в нем не понадобилось ничего менять. Кроме того, мы не считаем целесообразным ради расширения возможностей приносить в жертву скорость, а вместо этого стараемся в каждом случае обеспечить максимально возможную производительность. В итоге несколько увеличивается время разработки, но результаты того стоят. Разработка в таком ключе возможна потому, что все новые фрагменты серверного кода перед включением в состав MySQL проверяются несколькими разработчиками. |
|
теги: MySQL, PostgreSQL |
| |
| Общая информация » Различия в синтаксисе SQL между mSQL 2.0 и MySQL |
1.11.1.3 Различия в синтаксисе SQL между mSQL 2.0 и MySQL
Типы столбцов
MySQL
Имеются следующие дополнительные типы (не считая остальных; see section 6.5.3 Синтаксис оператора CREATE TABLE):
ENUM - тип для одного набора строк.
SET - тип для нескольких наборов строк.
BIGINT - тип для 64-битовых целых чисел.
Кроме того, MySQL поддерживает следующие атрибуты дополнительных типов:
UNSIGNED - опция для целочисленных столбцов и столбцов чисел с плавающей запятой. |
|
теги: MySQL, NULL |
| |
| Общая информация » Различия в клиент-серверных коммуникационных протоколах mSQL и MySQL |
1.11.1.2 Различия в клиент-серверных коммуникационных протоколах mSQL и MySQL
Различий здесь имеется более чем достаточно для того, чтобы поддержку обоих протоколов одновременно обеспечить было невозможно (или, по меньшей мере, очень сложно).
Ниже приведены наиболее заметные различия между коммуникационными протоколами MySQL и mSQL:
В буфере сообщения может находиться несколько столбцов результатов.
Буферы сообщений динамически увеличиваются, если запрос или результат не умещаются в их текущем объеме, ограничение на объем буфера устанавливается сервером и клиентом. |
|
теги: MySQL |
| |
| Общая информация » Как конвертировать инструментальные средства mSQL в MySQL |
1.11.1.1 Как конвертировать инструментальные средства mSQL в MySQL
Согласно нашему опыту, переделать такие инструментальные программы, как msql-tcl и msqljava, созданные на основе C API mSQL для работы с C API MySQL, несложно.
Сделать это можно так:
Пропустите исходный файл через сценарий оболочки msql2mysql. Для этого необходима программа replace, распространяющаяся вместе с MySQL Server.
Откомпилируйте. |
|
теги: MySQL, NULL |
| |
| Общая информация » ак конвертировать инструментальные средства mSQL в MySQL |
1.11.1.1 Как конвертировать инструментальные средства mSQL в MySQL
Согласно нашему опыту, переделать такие инструментальные программы, как msql-tcl и msqljava, созданные на основе C API mSQL для работы с C API MySQL, несложно.
Сделать это можно так:
Пропустите исходный файл через сценарий оболочки msql2mysql. Для этого необходима программа replace, распространяющаяся вместе с MySQL Server.
Откомпилируйте. |
|
теги: MySQL, NULL |
| |
| Общая информация » Сравнение MySQL и mSQL |
Производительность
Точные результаты сравнения скорости работы можно найти в постоянно пополняющейся библиотеке проведенных тестов по MySQL (see section 5.1.4 Набор тестов MySQL (The MySQL Benchmark Suite)). СУБД mSQL, благодаря отсутствию затрат дополнительных ресурсов на создание потоков, а также за счет компактности синтаксического анализатора, небольшого количества функций и упрощенной системы безопасности, должна выигрывать в скорости выполнения:
тестов на выполнение циклов соединение-отсоединение, при каждом соединении выполняющих какой-нибудь простой запрос
операций INSERT над простыми таблицами, содержащими небольшое количество столбцов и ключей
CREATE TABLE и DROP TABLE |
|
теги: MySQL, SELECT |
| |
| Общая информация » Сравнение MySQL с другими СУБД |
1.11 Сравнение MySQL с другими СУБД
Наши пользователи провели исследование скорости работы нескольких обычных серверов баз данных и серверов баз данных с открытым кодом. Нам известно о проводившихся сравнениях MySQL с сервером Oracle, сервером DB/2, Microsoft SQL Server и другими коммерческими программными продуктами. Однако по причинам юридического характера опубликовать результаты некоторых из этих сравнений в документации не представляется возможным. |
|
теги: СУБД, MySQL |
| |
| Общая информация » То, что надо сделать когда-нибудь |
1.10.5 То, что надо сделать когда-нибудь
Реализовать функцию: get_changed_tables(timeout,table1,table2,...).
Изменить чтение таблиц так, чтобы везде, где возможно. использовалась memmap. Сейчас memmap используется только для уплотненных таблиц.
Сделать лучше автоматический код временных меток (timestamp). Добавлять временные метки в журнал обновлений при помощи SET TIMESTAMP=#;. |
|
теги: MySQL |
| |
| Общая информация » Что должно быть сделано в ближайшем будущем |
1.10.4 Что должно быть сделано в ближайшем будущем
Не разрешать более чем определенному количеству потоков одновременно заниматься восстановлением MyISAM-таблиц.
Изменение INSERT ... SELECT с целью оптимального использования одновременных вставок.
Возвращать истинные типы полей при выполнении SELECT MIN(столбец) GROUP BY.
Множественные результаты. |
|
теги: SELECT |
| |
| Общая информация » Что планируется реализовать в версии 5.0 |
1.10.3 Что планируется реализовать в версии 5.0
Перечисленные ниже функции планируется реализовать в MySQL 5.0.
Отметим также, что поскольку у нас над новыми проектами работает большое количество разработчиков, появятся и дополнительные возможности. Существует - хотя и очень небольшая - вероятность, что эти возможности будут введены уже в MySQL 4.1. Список того, что уже сделано в 4.1, можно найти в @xref{News-4.1.x}. |
|
теги: MySQL |
| |
| Общая информация » Известные ошибки и недостатки проектирования в MySQL |
1.9.5 Известные ошибки и недостатки проектирования в MySQL
Устранение следующих из выявленных проблем относится к числу первоочередных задач:
ANALYZE TABLE на таблицах BDB в некоторых случаях может сделать таблицу недоступной для использования, пока не произойдет перезапуск mysqld. При этом в файле ошибок MySQL можно будет увидеть ошибки, подобные следующим:
001207 22:07:56 bdb: log_flush: LSN past current end-of-log |
|
теги: TABLE, BDB |
| |
| Общая информация » Символы `--\\' как начало комментария |
1.9.4.7 Символы `--' как начало комментария
В некоторых отличных от MySQL базах данных SQL символы `--' используются как начальные символы комментариев. В сервере MySQL символом начала комментариев является `#'. Для сервера MySQL можно также использовать стиль комментирования из C: /* this is a comment */ (see section 6.1.5 Синтаксис комментариев). |
|
теги: MySQL, shel |
| |
| Общая информация » Представления |
1.9.4.6 Представления
Представления планируется реализовать примерно в версии сервера MySQL 5.0.
Представления полезны в основном для случая, когда требуется предоставлять пользователям доступ к набору связей как к одной таблице (только в режиме чтения). Во многих базах данных SQL не обеспечивается возможность обновлять какие-либо строки в представлении - такие обновления необходимо выполнять в отдельных таблицах. |
|
теги: MySQL |
| |
| Общая информация » Внешние ключи |
1.9.4.5 Внешние ключи
Следует учитывать, что в SQL внешние ключи используются не для объединения таблиц, а главным образом для проверки целостности ссылочных данных (ограничения внешних ключей). Если необходимо получить результаты из большого количества таблиц от команды SELECT, следует делать это через объединение таблиц:
SELECT * FROM table1,table2 WHERE table1.id = table2.id;
|
|
теги: SQL, DELETE |
| |
Страницы: [ 1 ] - 2 - 3 - 4
|
|