清空表数据:
//清空全部数据,不写日志,不可恢复,速度极快
truncate table 表名
//清空全部数据,写日志,数据可恢复,速度慢
delete from 表名
遇到的问题:
-
spring boot中集成mybatis后,如果批量更新数据,可能会出现错误The error occurred while setting parameters
解决:在连接mysql的地址后面加上参数:allowMultiQueries=true即可 -
大量执行一个查询SQL出现的问题:
Exception:java.sql.SQLException: The table ‘/home/mysql/log/tmp/#sql_1b62_0’ is full
通过查询资料分析,是使用了临时表并且临时表满了。
内存临时表空间的大小由两个参数控制:tmp_table_size和max_heap_table_size。
一开始以为把服务器的文件清空一下就好了,后来发现SQL有问题,
Mysql使用临时表来存储结果集。
解决:SQL中去掉了Order by排序
PS: 查询中进行 distinct 、order by、 group by 、 union等情况下会使用临时表;
text 、 blob会直接使用磁盘临时表。
转
数据库设计ppt:
https://wenku.baidu.com/view/10dd4c2459eef8c75fbfb3f2.html