MySQL Memory 存储引擎浅析 (三)

2014-11-24 10:40:22 · 作者: · 浏览: 5
EXISTS test_memory;

CREATE TABLE IF NOT EXISTS test_memory (

id INT UNSIGNED AUTO_INCREMENT COMMENT 'PK',

obj CHAR(255) NOT NULL DEFAULT '' COMMENT 'OBJECT',

PRIMARY KEY (id)

) ENGINE=MEMORY;

测试代码:

using System;

using System.Data;

using MySql.Data.MySqlClient;

namespace MySqlEngineTest

{

class Program

{

const string OBJ = "The MEMORY storage engine creates tables with contents that are stored in memory. Formerly, these were known as HEAP tables. MEMORY is the preferred term, although HEAP remains supported for backward compatibility.";

const string SQL_CONN = "Data Source=127.0.0.1;Port=3308;User ID=root;Password=root;DataBase=test;Allow Zero Datetime=true;Charset=utf8;pooling=true;";

const int LOOP_TOTAL = 10000;

const int LOOP_BEGIN = 8000;

const int LOOP_END = 9000;

#region Database Functions

public static bool DB_InnoDBInsert(string obj)

{

string commandText = "INSERT INTO test_innodb (obj) VALUES ( obj)";

MySqlParameter[] parameters = {

new MySqlParameter(" obj", MySqlDbType.VarChar, 255)

};

parameters[0].Value = obj;

if (DBUtility.MySqlHelper.ExecuteNonQuery(SQL_CONN, CommandType.Text, commandText, parameters) > 0)

return true;

else

return false;

}

public static string DB_InnoDBSelect(int id)

{

string commandText = "SELECT obj FROM test_innodb WHERE id = id";

MySqlParameter[] parameters = {

new MySqlParameter(" id", MySqlDbType.Int32)

};

parameters[0].Value = id;

return DBUtility.MySqlHelper.ExecuteScalar(SQL_CONN, CommandType.Text, commandText, parameters).ToString();

}

public static bool DB_MyIsamInsert(string obj)

{

string commandText = "INSERT INTO test_myisam (obj) VALUES ( obj)";

MySqlParameter[] parameters = {

new MySqlParameter(" obj", MySqlDbType.VarChar, 255)

};

parameters[0].Value = obj;

if (DBUtility.MySqlHelper.ExecuteNonQuery(SQL_CONN, CommandType.Text, commandText, parameters) > 0)

return true;

else

return false;

}

public static string DB_MyIsamSelect(int id)

{

string commandText = "SELECT obj FROM test_myisam WHERE id = id";

MySqlParameter[] parameters = {

new MySqlParameter(" id", MySqlDbType.Int32)

};

parameters[0].Value = id;

return DBUtility.MySqlHelper.ExecuteScalar(SQL_CONN, CommandType.Text, commandText, parameters).ToString();

}

public static bool DB_MemoryInsert(string obj)

{

string commandText = "INSERT INTO test_memory (obj) VALUES ( obj)";

MySqlParameter[] parameters = {

new MySqlParameter(" obj", MySqlDbType.VarChar, 255)

};

parameters[0].Value = obj;

if (DBUtility.MySqlHelper.ExecuteNonQuery(SQL_CONN, CommandType.Text, comma