----------------------------------------------

#查询JSON的某个字段
select data -> '$.Host' from temp#创建虚拟列
ALTER TABLE temp ADD host varchar(128) GENERATED ALWAYS AS (json_extract(data,'$.Host')) VIRTUAL;#给虚拟列创建索引
ALTER TABLE temp ADD INDEX index_temp_host ( host)

#用建立的第二索引列解决select count 的效率问题 

select count(0) from temp where host>=0 ;

#设置mysql日志目录 & 启用日志

SHOW VARIABLES LIKE "general_log%"; SET GLOBAL general_log = 'ON';

SET GLOBAL general_log_file = 'd:/mysql.log'

  

-------------------------------------------------------

EntityFramework不能使用mysql5.7的解决办法。【MySQL - Entity : The value for column 'IsPrimaryKey' in table 'TableDetails' is DBNull】

(目前测试:EntityFramework不能使用mysql5.7中的Json类型,Ado.net可以使用json类型)

在mysql执行一段代码就可以用entityframework了

use adventureworks;
set global optimizer_switch='derived_merge=off';
set optimizer_switch='derived_merge=off';select @@optimizer_switch;
select @@GLOBAL.optimizer_switch;

  

 public static DataTable ExecuteDataTable(string sql, params MySqlParameter[] parameters){MySqlConnection con = new MySqlConnection("server=localhost;user id=root;password=aaa_123;port=4407;database=testjson");con.Open();MySqlCommand cmd = new MySqlCommand(sql, con);foreach (MySqlParameter parameter in parameters){cmd.Parameters.Add(parameter);}DataSet dataset = new DataSet();//dataset放执行后的数据集合MySqlDataAdapter adapter = new MySqlDataAdapter(cmd);adapter.Fill(dataset);cmd.Dispose();con.Close();return dataset.Tables[0];}

  

-----------------------------------------------------

关于mysql innodb count(*)速度慢的解决办法

innodb引擎在统计方面和myisam是不同的,Myisam内置了一个计数器,所以在使用 select count(*) from table 的时候,直接可以从计数器中取出数据。而innodb必须全表扫描一次方能得到总的数量。要初步解决这个问题,需要做不同于myisam的一些工作:
1、使用第二索引(一般不使用主键索引),并且添加where条件,如:
select count(*) from product where comp_id>=0 ;
show index from product ;
id primary key
comp_id index
2、如果只需要粗略统计的话也可使用
show status from product; 来得到大约值
这种方法可在数据分页中使用!
3、使用外部计数器,比如建立一个触发器来计数或者在程序上使用缓存方式定时计数,缺陷是这些方法会额外消耗一些资源!

转载于:https://www.cnblogs.com/haoliansheng/p/5982144.html

使用mysql innodb 使用5.7的json类型遇到的坑和解决办法相关推荐

  1. mysql json坑_使用mysql innodb 使用5.7的json类型遇到的坑和解决办法

    ---------------------------------------------- #查询JSON的某个字段 select data -> '$.Host' from temp #创建 ...

  2. mysql-Front有json类型恢复不了数据库解决方法Connot create a JSON value from a string with CHARACTER SET ‘binary‘

    1.场景: "UPDATE `gioet_instance` SET name ='"+reqObj.Name+"',properties='' WHERE id = i ...

  3. 串口发数据到android数据错误,51单片机通过蓝牙串口模块发送JSON数据给安卓手机故障解决办法...

    原标题:51单片机通过蓝牙串口模块发送JSON数据给安卓手机故障解决办法 JSON(Java Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式.它基于 ECMA (欧洲计 ...

  4. json mysql 字段 默认值_MySQL新增JSON类型字段的使用总结

    最近刚好用到了MySQL的JSON函数做了一些数据处理相关的工作,顺便记录总结一下相关知识点和用法. MySQL从5.7.8开始支持原生JSON数据类型,以JSON类型存储json格式的数据,比字符串 ...

  5. mysql使用中遇到的问题吗_MySQL使用中遇到的问题及解决办法

    [问题一]在安装配置MySQL多实例时,出现以下问题 ................................................................ [root@lo ...

  6. mysql保存时乱码了_MySQL保存中文乱码的原因和解决办法

    (3)MySQL的字符集设置. 这个是重点了,一般都是在这里搞错而出现了mysql乱码. mysql编码设置可以分为三种设置:数据库的编码.表的编码.和字段的编码. a.数据库的编码: 在sqlyog ...

  7. iOS 后台返回json解析出现的null的解决办法

    在后台返回值为Null为空时,我们代码没有判断时,程序就会崩溃.当时一直很疑惑是为啥,后来发现是数据问题,由于服务器的数据库中有些字段为空,然后以Json形式返回给客户端时就会出现这样的数据.当我们通 ...

  8. MYSQL执行sql时报错:Table 'performance_schema.session_status' doesn't exist解决办法

    1.今天,在本地mysql底下执行sql时报错了,报错信息是Table 'performance_schema.session_status' doesn't exist,百度了一下说解决办法是进入m ...

  9. mysql 2203_mysql 错误2203 1061 及安装最后出现1067错误的解决办法

    错误描述 : 1.#2003-服务器没有响应MySQL无法启动 2.Can''t connect to MySQL server on ''localhost'' (10061) 3.ERROR 20 ...

最新文章

  1. 数据分析师的基本素质
  2. Documentum常见问题10-修改特定Type的显示图标
  3. 【Android 逆向】启动 DEX 字节码中的 Activity 组件 ( 在 PathClassLoader 和 BootClassLoader 之间插入 DexClassLoader )
  4. 杠件受力分析 第一章 杠件受力分析
  5. LeetCode 239:滑动窗口最大值 思考分析
  6. Stream、FileStream、MemoryStream的区别
  7. 最常用的15个前端表单验证JS正则表达式
  8. linux 时间戳 微妙,unix时间点_毫秒和微妙_time模块
  9. 奇安信专家:近八成软件存开源漏洞 供应链需全生命周期安全防护
  10. HibernateTemplate.save()与HibernateTemplate.update() 无法写入数据库的问题
  11. docker搭建sonarqube做代码审计
  12. python 双冒号_python双冒号
  13. Openbravo ERP 3.0安装指南
  14. 三十一、利用微信搜索抓取公众号文章
  15. 3、git 暂存区撤销与删除
  16. matlab中clock是什么,matlab中的clock
  17. Eclipse中出现“polling news feeds”的解决办法
  18. 李嘉诚:成功创业要具备的五个要素
  19. TiDB中的混沌测试实践
  20. Java Socket udp协议在网络读卡器上的使用

热门文章

  1. unity怪物攻击玩家减血_Unity RPG游戏攻击的判定
  2. c语言创建空顺序表的程序,用C语言编写一个完整的程序,实现顺序表的建立、插入、删除、输出等基本运算。...
  3. OpenGL基础49:高度贴图(下)
  4. string类型的数字字符串直接转换成int型方法
  5. istio使用教程和示例(导流,请求路由,访问拒绝,黑白名单,限速)
  6. java实现socket连接,向指定主机指定端口发送socket数据,并获取响应数据
  7. ModuleNotFoundError: No module named ‘pip‘
  8. RC充放电网络的定量计算
  9. 获取虚拟账号列表失败啥意思_「图」Windows 10 Build 18963发布:可显GPU温度 支持重命名虚拟桌面...
  10. cin,cerr,clog,cout