MariaDB Features Not Available in SQL Server

Cover

Migrating from SQL Server?

Some MariaDB features are not available in SQL Server.

At first glance, it is not important to know about those features to migrate from SQL Server to MariaDB. However, this is not the case. Using MariaDB features that are not in SQL Server allows one to obtain more advantages from the migration, getting the most from MariaDB.

This page has a list of MariaDB features that are not supported in SQL Server. The list is not exhaustive.

Plugin Architecture

SQL

  • The sql_mode variable determines in which cases an SQL statement should fail with an error, and in which cases it should succeed with a warning even if it is not entirely correct. For example, when a statement tries to insert a string in a column which is not big enough to contain it, it could fail, or it could insert a truncated string and emit a warning. It is a tradeoff between reliability and flexibility.

    • SQL_MODE=MSSQL allows one to use a small subset of SQL Server proprietary syntax.

  • SHOW statements.

  • SHOW CREATE statements.

  • SHOW PROCESSLIST and PERFORMANCE_SCHEMA THREAD table provide much richer information, compared to SQL Server sp_who() and sp_who2() procedures.

  • CHECKSUM TABLE statement.

  • PL/SQL support (only for stored procedures and stored functions).

  • Row constructors.

  • BEFORE triggers.

  • HANDLER statements, to scroll table rows ordered by an index or in their physical order.

  • DO statement, to call functions without returning a result set.

  • BENCHMARK() function, to measure the speed of an SQL expression.

See also Syntax Differences between MariaDB and SQL Server.

Types

See also SQL Server and MariaDB Types Comparison.

JSON

For compatibility with some other database systems, MariaDB supports the JSON pseudo-type. However, it is just an alias for:

LONGTEXT CHECK (JSON_VALID(column_name))

JSON_VALID() is the MariaDB equivalent of SQL Server's ISJSON().

Features

This page is licensed: CC BY-SA / Gnu FDL

Last updated

Was this helpful?