Comme les autres systèmes de bases de données modernes, MemSQL est un "SGBD" qui conserve toutes ses données en mémoire, permettant ainsi de réduire considérablement les temps de latence et évitant bien sûr les temps de lecture/écriture sur disque dur. Ce qui est différent au sujet de cette nouvelle base de données est qu'il transforme les requêtes SQL en C++, qui est ensuite compilé et exécuté.
Il stocke les requêtes compilées sous forme de "squelette", semblable à des déclarations préparées et utilisées dans les bases de données classiques. En gros si la même requête est exécutée une seconde fois avec des paramètres différents, le serveur accède au modèle existant et remplace les espaces réservés par les valeurs réelles.
Beaucoup de bases de données modernes conservent les plans de requête pour l'exécution répétée. Le site web MemSQL affirme néanmoins qu'il est "The world's fastest database" (même si aucune preuve de cette allégation est présentée hein ).
MemSQL peut être interrogé à partir de la ligne de commande en utilisant SQL, MySQL. L'outil mysqldump est utilisé pour exporter des données de MemSQL par exemple. Comme MySQL, les données sont importées par la lecture dans un fichier d'exportation. Parce que MemSQL utilise le protocole MySQL, il devrait être possible d'utiliser de nombreuses interfaces MySQL avec MemSQL. La documentation mentionne spécifiquement Python et Ruby (normal).
Bien que MemSQL propose les transactions, il manque la plupart des fonctionnalités offertes par les bases de données, y compris les vues, les procédures stockées, les triggers et les prepared statements. Les éditions développeurs et d'essai sont disponibles en téléchargement en tant que binaires pour Linux.