b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

handlersocket mysql_handlersocket_MySQL支持newsql

电脑杂谈  发布时间:2017-02-24 06:35:39  来源:网络整理

handlersocket mysql_handlersocket_MySQL支持newsql

handlersocket

最近为了挖掘mysql的性能,使用了HandlerSocket来访问数据,表现确实还不错,特别是使用merge表的时候。handlersocket

但是HandlerSocket(一下简称hs)本身的文档比较少,出错信息不是很友好,出错的时候比较难定位问题,往往要翻阅其源代码,这里分享两个我最近遇到的问题:

表结构如下:

mysql> show create table tab_xxx\G

*************************** 1. row ***************************

Table: tab_xxx

Create Table: CREATE TABLE `tab_xxx` (

`Type` char(2) DEFAULT NULL,

`flag` char(1) DEFAULT NULL,

`count` char(2) DEFAULT NULL,

`file_id` char(10) DEFAULT NULL,

`exc_id` char(4) DEFAULT NULL,

`FileType` char(2) DEFAULT NULL,

`subno` char(24) DEFAULT NULL,

KEY `idx_subno` (`subno`)

) ENGINE=InnoDB

handlersocket mysql_handlersocket_MySQL支持newsql

使用hs访问的时候我使用了如下语句:

client->request_buf_open_index(id, "db_name", "table_name", "subno", "EventFormatType, roll_flag, roll_count, file_id, exc_id, FileType,subno", 0);

该语句在运行是报以下错误:2 idxnum,看得一头雾水,没办法只好翻阅一下源代码,搜索 idxnum,找到了问题,KEY的名称必须使用idx_subno,这个问题解决了,重新编译运行,另一个问题又来了,报以下错误:2 fld,有了前面的经验,继续搜索源代码,原来hs列之间只能使用","分隔,不能有其他空格等字符,这个是在代码里面写死了的,于是修改如下:

client->request_buf_open_index(id, "db_name", "table_name", "idx_subno", "EventFormatType,roll_flag,roll_count,file_id,exc_id,FileType,subno", 0);

这次终于运行成功了。

总结:

1、key要使用key名称,不能使用列名称;

2、列之间只能用","分隔,不能有其他空格等字符;


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-34181-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 杨晶石
        杨晶石

        欢迎美国军舰莅临检查南海岛礁建设情况

      • 朱延
        朱延

      • 梁志朋
        梁志朋

        前段时间有文章指出中国打输了近一个世纪所参加的所有战争<包括我们自认为取得胜利的战争>

      热点图片
      拼命载入中...