.
· Якщо одна операція зчитування/запису займає більше 30 секунд, сервер закриває з'єднання.
· Якщо з'єднання не діє протягом 8:00, сервер його закриває.
Відмінності в синтаксисі SQL між mSQL 2.0 і MySQL
Типи стовпців
Є наступні додаткові типи:
· ENUM - тип для одного набору рядків.
· SET - тип для декількох наборів рядків.
· BIGINT - тип для 64-бітових цілих чисел.
Крім того, MySQL підтримує наступні атрибути додаткових типів:
· UNSIGNED - опція для цілочисельних стовпців і стовпців чисел з плаваючою комою.
· ZEROFILL - опція для цілочисельних стовпців.
· AUTO_INCREMENT - опція для цілочисельних стовпців, що є первинними ключами.
· DEFAULT - значення для всіх стовпців.
Типи стовпців в mSQL відповідають наведеним у таблиці типам MySQL:
Тип в mSQLСоответствующій тип в MySQLCHAR (len) CHAR (len) TEXT (len) TEXT (len). len - максимальна довжина. Працює LIKE.INTINT. З безліччю опцій! REALREAL. Або FLOAT. Є як 4-бітові, так і 8-бітові варіанти.UINTINT UNSIGNEDDATEDATE. Використовує формат ANSI SQL, а не власний формат mSQL.TIMETIMEMONEYDECIMAL (12,2). Значення з фіксованою точкою і двома знаками після неї.
Створення індексів
MySQL
Індекси можуть зазначатися під час створення таблиці за допомогою оператора CREATE TABLE.
Індекси створюються після створення таблиці за допомогою операторів CREATE INDEX.
Порівняння значень NULL
MySQLсоответствует стандарту ANSI SQL, тому порівняння з NULL завжди повертає результат NULL.
У mSQL вираз NULL=NULL має значення TRUE. Тому при перекладі старого коду з mSQL в MySQL=NULL необхідно замінити на IS NULL, а lt; gt; NULL - на IS NOT NULL.
Пошук без урахування регістру символів
MySQLможет бути як чутливим, так і нечутливим до регістру оператором, залежно від стовпців, до яких він застосовується. По можливості MySQL використовує індекси, якщо аргумент LIKE починається не з шаблонного символу.
Слід використовувати CLIKE.
Обробка кінцевих пробілів
MySQL
Всі прогалини в кінці стовпців CHAR і VARCHAR видаляються. Якщо така поведінка небажано, використовуйте стовпці TEXT.
Кінцеві прогалини зберігаються.
Оператори WHERE
MySQLправільно визначає пріоритети дій (AND має пріоритет перед OR). Змусити MySQL вести себе так, як mSQL, можна за допомогою дужок (як можна бачити у відповідному прикладі).
Всі дії проводяться зліва направо. А це означає, що деякі логічні обчислення, в яких наявна більше трьох аргументів, не можуть бути виконані взагалі. Крім того, це означає, що при перенесенні в MySQL деякі запити необхідно змінювати. Це досить просто зробити за допомогою дужок. Візьмемо, приміром, наступний запит mSQL:
mysql gt; SELECT * FROM table WHERE a=1 AND b=2 OR a=3 AND b=4;
Щоб MySQL обчислив результат цього запиту так само, як це зробив би mSQL, потрібно розставити дужки:
mysql gt; SELECT * FROM table WHERE (a=1 AND (b=2 OR (a=3 AND (b=4))));
Обмеження доступу
MySQL
Для зберігання привілеїв для кожного користувача, віддаленого комп'ютера і бази є відповідні таблиці.
Мається файл mSQL.acl raquo ;, в якому можна визначити привілеї читання/запису для користувачів.
2.2.2 Порівняння MySQL c PostgreSQL
Наведене нижче порівняння проводилося в MySQL AB. Я намагався бути якомога більш точними та об'єктивними, проте, знаючи MySQL, я не міг похвалитися таким же знанням можливостей PostgreSQL, тому в чомусь міг і помилитися.
Насамперед хотілося б відзначити, що PostgreSQL та MySQL є широко використовуваними програмними продуктами, які розроблялися з різними цілями (хоча творці обох і прагнуть довести їх до повної сумісності зі стандартом ANSI SQL). Це означає, що для вирішення одних завдань більше підходить MySQL, для інших же - PostgreSQL. Вибираючи СУБД, перевірте, чи відповідають її можливості вимогам, що пред'являються розв'язуваної завданням. Якщо потрібна максимальна швидкість роботи, найкраще, й...