我正在尝试使用 YCSB ( https://github.com/brianfrankcooper/YCSB ) 对 MySQL 数据库进行基准测试,但我在文档中遇到了这一行:
对于 CoreWorkload,YCSB 客户端将假定有一个名为“usertable”的“表”,它具有灵活的模式:可以在运行时根据需要添加列。
但是我如何在 MySQL 上做到这一点?我在任何地方都找不到任何关于如何在 MySQL 上创建灵活模式的说明
提前致谢
我正在尝试使用 YCSB ( https://github.com/brianfrankcooper/YCSB ) 对 MySQL 数据库进行基准测试,但我在文档中遇到了这一行:
对于 CoreWorkload,YCSB 客户端将假定有一个名为“usertable”的“表”,它具有灵活的模式:可以在运行时根据需要添加列。
但是我如何在 MySQL 上做到这一点?我在任何地方都找不到任何关于如何在 MySQL 上创建灵活模式的说明
提前致谢
这对于关系数据库(例如 MySQL)来说并不完全正确。对于这些,您应该使用 YCSB 所需的确切列数创建表。
该JDBCClient
课程必须为您提供以下提示:
CREATE TABLE usertable
(
YCSB_KEY VARCHAR(100),
FIELD1 VARCHAR(100), FIELD2 VARCHAR(100),
FIELD3 VARCHAR(100), FIELD4 VARCHAR(100),
FIELD5 VARCHAR(100), FIELD6 VARCHAR(100),
FIELD7 VARCHAR(100), FIELD8 VARCHAR(100),
FIELD9 VARCHAR(100), FIELD10 VARCHAR(100),
} PRIMARY KEY (YCSB_KEY);
这实际上是针对另一个数据库的,但您可以轻松地调整特定的 MySQL 语法。
Oracle 允许在运行时在生产系统上添加列。
我认为语法类似于 ALTER TABLE。
我确信其他数据库系统也允许修改表 - 但在使用表时不允许。
例如:
CREATE TABLE usertable
(
YCSB_KEY VARCHAR(100),
FIELD1 VARCHAR(100), FIELD2 VARCHAR(100),
} PRIMARY KEY (YCSB_KEY);
ALTER TABLE usertable (....
这将更改表以具有更多字段、索引等。