Справочное руководство по MySQL версии 4.1.1-alpha


1.11.1 Сравнение MySQL и mSQL - часть 2


  • связывании таблиц. При изменении порядка таблиц в вызове SELECT, скорость работы mSQL может упасть ниже всяких допустимых пределов. При выполнении комплекта тестов производительности выполнение такой операции заняло в 15000 раз больше времени, чем у MySQL. Причиной столь плачевно низкой производительности является отсутствие в mSQL оптимизатора связей, который обеспечивал бы оптимальность используемого порядка соединения таблиц. Однако если в mSQL2 расположить таблицы в правильном порядке, не перегружать оператор WHERE и использовать индексные столбцы, связывание будет выполнено относительно быстро! (see section 5.1.4 Набор тестов MySQL (The MySQL Benchmark Suite)).

  • ORDER BY и GROUP BY.

  • DISTINCT.

  • работе со столбцами с типами TEXT или BLOB.

    Возможности SQL

    • GROUP BY и HAVING.
    • В mSQL функция GROUP BY отсутствует вовсе. В MySQL Server же GROUP BY имеется и работает как с HAVING, так и со следующими функциями: COUNT(), AVG(), MIN(), MAX(), SUM()и STD(). Работа оператора COUNT(*) оптимизирована в расчете на быстрый возврат результатов, если оператор SELECT берет данные из одной таблицы, не используя никаких других столбцов и выражения WHERE. Функции MIN() и MAX() могут принимать строковые аргументы.

    • INSERT и UPDATE с вычислениями. MySQL может выполнять вычисления непосредственно в теле вызова INSERT или UPDATE. Вот пример:

      mysql> UPDATE SET x=x*10+y WHERE x

    • Псевдонимы. В MySQL имеется возможность определения псевдонимов столбцов.

    • Квалификация имен столбцов. В MySQL, при условии уникальности имени столбца среди таблиц, использующихся при выполнении запроса, нет необходимости приводить его полный квалификатор.

    • SELECT с функциями. Функций в MySQL много (даже слишком много, чтобы их можно было перечислить здесь; see section 6.3 Функции, используемые в операторах SELECT и WHERE).

      Эффективность использования дискового пространства

      Можно ли уменьшить таблицы, и если да, то насколько? В MySQL имеются очень точные типы данных, а с их помощью можно создавать таблицы, занимающие минимум пространства. Примером чрезвычайно полезного типа данных MySQL может служить MEDIUMINT, длина значений которого составляет 3 байта. При наличии 100 миллионов записей значение экономии даже одного байта на каждой из них трудно переоценить. Выбор типов столбцов в mSQL2 значительно беднее, и поэтому снизить размеры таблиц заметно трудней.




      - Начало -  - Назад -  - Вперед -