Skip to content

Instantly share code, notes, and snippets.

-- FULL TEXT SEARCH
-- ================
-- setup schema
CREATE DATABASE library;
USE library;
CREATE TABLE books (
title VARCHAR(200) not null,
@robrich
robrich / cluster_file.yaml
Created September 23, 2020 16:39
Cluster configuration file
license: YOUR_LICENSE_KEY
memsql_server_version: 7.1.8
package_type: rpm
hosts:
- hostname: 127.0.0.1
localhost: true
nodes:
- register: false
role: Master
config:
-- Step_1: setup
Create database testDB;
use testDB;
Create table t( a int, b varchar(70));
insert into t values (1, now(6));
insert into t select a+(select max(a) from t), now(6) from t;
select count(*) from t;
-- Step_3: updates on primary
insert into t values (-1, now(6));
@robrich
robrich / init.sql
Created August 18, 2020 00:11
Get started with MemSQL on Windows
CREATE DATABASE IF NOT EXISTS hellomemsql;
USE hellomemsql;
CREATE TABLE IF NOT EXISTS messages (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
content varchar(300) NOT NULL,
createdate TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP
);
@robrich
robrich / cluster1.sql
Created August 3, 2020 21:00
MemSQL Disaster Recovery - failback to primary cluster demo
-- Step_1: setup
Create database testDB;
use testDB;
Create table t( a int, b varchar(70));
insert into t values (1, now(6));
insert into t select a+(select max(a) from t), now(6) from t;
select count(*) from t; -- 262144
-- Step_3: updates on primary
insert into t values (-1, now(6));
@robrich
robrich / memsql-json.sql
Created August 3, 2020 16:57
CRUD with JSON in MemSQL
create database acme;
use acme;
create table customer (
id int,
name varchar(200),
properties json not null,
key (id) using clustered columnstore
);
@robrich
robrich / reference-table.sql
Created June 23, 2020 04:01
Reference Tables
create database 'tpc_h';
use 'tpc_h';
CREATE TABLE IF NOT EXISTS `lineitem` (
`l_orderkey` bigint(11) NOT NULL,
`l_partkey` int(11) NOT NULL,
`l_suppkey` int(11) NOT NULL,
`l_linenumber` int(11) NOT NULL,
`l_quantity` decimal(15,2) NOT NULL,
`l_extendedprice` decimal(15,2) NOT NULL,
@robrich
robrich / backup-with-split-partitions.sql
Created June 18, 2020 04:55
MemSQL Backup with Split Partitions
-- create a database with 2 master partitions
create database thedb partitions 2;
-- create sample data
use thedb;
create table data (msg varchar(200));
insert into data (msg) values ('the data');
-- notice how we're not using the database efficiently
show partitions;
@robrich
robrich / memsql-helios-commands.sql
Created June 11, 2020 22:03
Welcome to MemSQL Helios
-- create a database
create database cosmeticshop;
-- create a table
use cosmeticshop;
create table cosmeticshopfunnel
(
event_time TIMESTAMP,
event_type CHAR(18),
product_id CHAR(10),
@robrich
robrich / gist:3b5ee06a1bc179f3c5cfce0055def5d4
Last active August 10, 2021 08:23
MemSQL load-balanced failover queries.sql
-- MemSQL load-balanced failover
-- =============================
-- Queries demoing load-balanced failover in MemSQL: https://youtu.be/J86fLCMr5dc
create database x_db partitions 8;
select host, port, node_id, availability_group as AG from leaves order by AG;
SELECT master_host as m_host, master_port as m_port, host as repl_host, port as repl_port, GROUP_CONCAT(database_name ORDER BY database_name) AS list_partitions FROM information_schema.mv_cluster_status WHERE metadata_role='slave' GROUP BY master_host, master_port, repl_host, repl_port ORDER BY master_host, master_port, repl_host, repl_port;