MySql....

为什么 MySQL 不推荐使用 join

    1. 对于 mysql,不推荐使用子查询和 join 是因为本身 join 的效率就是硬伤,一旦数据量很大效率就很难保证,强烈推荐分别根据索引单表取数据,然后在程序里面做 join,merge 数据。     2. 子查询就更别用了,效率太差,执行子查询时,MYSQL 需要创建临时表...

SpringBoot...

jpa save(),saveAll()替代方案,mysql的insert并发问题(on DUPLICATE KEY UPDATE)

一、jpa save() 使用springdata jpa的save()方法在存储数据时,都会先执行select语句,再执行insert语句,相当于每存储一条数据,就会执行两次sql,效率非常慢; saveAll()也一样,查看源码可以看出调用的还是save(),这样就在数据量上来时候出现了瓶颈; 网上搜索到的一些解决方法如下(实际并不一...

MySql....

生成整数自增ID之ID生成策略

生成整数自增ID之ID生成策略     使用整数作为索引ID是最优的方式,那么整数ID的生成在一些关联表或者集群环境中就要考虑怎么做了! 整数要求一直自增,且保证唯一性 Web服务器集群调用这个整数生成服务,然后根据各种规则,插入指定的数据库.       ...

MySql....

sql字符串怎么换行,sql结果带 \n

sql字符串怎么换行,sql结果字符串中带 \n怎么搞     今天遇到一个需求返回结果需要在字符串中加入换行,但是sql直接写入\r\n就会转换空格输出,经尝试如下方法可用:     1:可以在插入数据时如下处理 换行/回车,可以使用C...

MySql....

mysql索引最佳实践与性能优化

mysql索引最佳实践与性能优化     下面部分使用以下表作为实战测试使用: 使用的表 CREATE TABLE `employees` (   `id` int(11) NOT NULL AUTO_INCREMENT,   `name` varchar(24) NOT NULL DEFAULT '' ...

MyBatis...

mybatis-generator中文注释乱码解决

mybatis-generator中文注释乱码解决     一般出现中文注释乱码的原因是,mybatis-generator输出文件使用jdk的默认编码,而一般jdk的默认编码是根据操作系统的是GBK,而项目工程是utf-8     如果是在终端操作的,可以尝试在每次运行  mvn myba...

SomeQuestions

不要在 MySQL 中使用“utf8”

最近我遇到了一个 bug,我试着通过 Rails 在以“utf8”编码的MariaDB 中保存一个 UTF-8 字符串,然后出现了一个离奇的错误: Incorrect string value: ‘xF0\x9F\x98\x83 <…’ for column ‘summary’ at row 1 我用的是 UTF-8 编码的客户...

MySql....

SQL语句的各种模糊查询以及 模糊查询是特殊字符处理

sql的模糊查询日常使用中并不罕见,一下总结部分模糊查询,如有不全可以留言补遗! SQL模糊查询,使用like比较关键字,加上SQL里的通配符,请参考以下:  1、LIKE’Mc%’ 将搜索以字母 Mc 开头的所有字符串(如 McBadden)。  2、LIKE’%inger’ 将搜索以字母 inger 结尾的所有字...

MySql....

CentOS7安装mysql教程

从最新版本的linux系统开始,默认的是 Mariadb而不是mysql!这里依旧以mysql为例进行展示 1、先检查系统是否装有mysql rpm -qa | grep mysql 这里返回空值,说明没有安装 这里执行安装命令是无效的,因为centos-7默认是Mariadb,所以执行以下命令只是更新Ma...

MySql....

MySQL事务隔离级别

l  MySQL事务隔离级别详解 SQL标准定义了4类隔离级别,包括了一些具体规则,用来限定事务内外的哪些改变是可见的,哪些是不可见的。低级别的隔离级一般支持更高的并发处理,并拥有更低的系统开销。 l  Read Uncommitted(读取未提交内容) 在该隔离级别,所有事务都可以看到其他未提交事务的执...