mysql
ajungejava
这个作者很懒,什么都没留下…
展开
-
Python 使用SSHTunnel 连接内网mysql数据库
声明:本博客是一次开发中的随记,供自己和大家可以参考。准备:主要模块 sshtunnel, pip install sshtunnel其余模块 pymysql,playhouse,configparser简介:这里用的是数据库连接池和自动的链接断开重连机制,其实最主要的就是sshtunner的建立,所以可以只看service建立的 部分配置文件:[mysql]d...原创 2020-02-07 17:36:08 · 1408 阅读 · 0 评论 -
mac 忘记mysql root密码的处理策略,亲测有效
mysql 8.0.0操作系统 macstep1:苹果->系统偏好设置->最下边点mysql 在弹出页面中 关闭MySQL服务(点击stopMySQLserver)或者 /usr/local/mysql/support-files/mysql.server stop|start|restart进行mysql服务操作step2:进入终端输入:cd /...原创 2020-01-17 11:18:47 · 139 阅读 · 0 评论 -
mysql 高效的去重插入数据
前言:我们最简单的想法就是先查询一下,看看这个对象有没有在,如果在,就更新或者删除,或者忽略,如果不在就插入,但是对于数据处理来说,这个可能就有点浪费性能了,而且我们学习的也是批量存储比单一存储要快,单一存储30ms,批量存储10个40ms,批量存储越大,他们两个的差距就越大,又有人提出了select in ,我们批量的去查询,看看键在没在我们批量数据的数组里面,找到在的就忽略掉,确实时间可...原创 2020-01-15 09:45:34 · 2260 阅读 · 0 评论 -
Lock wait timeout exceeded; try restarting transaction
背景:今天在做数据的时候,需要测试一下新的插入方法,但是原先的数据表中有150W的数据,想着先删除再测吧,执行查询delete from ,但是因为数据过多,一直在等待,我不耐烦了,打算停掉,很暴力,点击没有反应我就直接关掉了sequel,顺利关闭,再次进入,看到还剩下70000数据,继续删除,执行delete from出现错误Lock wait timeout exceeded; try res...原创 2020-01-14 14:08:47 · 300 阅读 · 0 评论 -
批量select in 和 单一的查询然后根据查询结构进行去重的比较
这里需要用到mysql的执行计划,小伙伴可以先了解一下mysql如何查看执行计划,参考链接:https://blog.csdn.net/wuseyukui/article/details/71512793explain 执行计划,在所需要查看的sql语句下执行这句话单一的利用索引查询一个 数据库 20Wexplain select * from table as a whe...原创 2020-01-09 14:43:30 · 899 阅读 · 0 评论 -
mysql max_allowed_packet 错误及解决方法
max_allowed_packet 是我们进行mysql链接时允许的最大传输的值,经常会出现错误在插入的时候,因为数据过大导致断开链接,超过这个值。一般默认是4m,我们可以查看和修改这个值,来避免这个错误1.在mysql命令行里面进行查询和修改参考链接https://www.cnblogs.com/haoxuanchen2014/p/10148611.html2.使用docker 的...原创 2019-12-26 10:45:51 · 2095 阅读 · 0 评论 -
mysql建库注意事项笔记
idea 设置代码超出限制自动换行 editor > General > Console >user soft warps in console 画上钩创建mysql 的数据库表的时候 当我们有很多的行的时候,主键不宜设置成auto_increment 因为自增是有一个限制的,所以我们要自己设置主键,当然对于一些类目比较少的,我们可以设置主键为自增对于价格来说,我们...原创 2019-12-13 15:08:24 · 133 阅读 · 0 评论 -
sql优化
sql 优化的方法:1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中num列没有...转载 2019-10-05 12:39:47 · 108 阅读 · 0 评论 -
mysql 一般在哪些字段建立索引
在这篇文章开始之前,我们需要注意一下,并不是索引越多越好,索引是一种以空间换取时间的方式,所以建立索引是要消耗一定的空间的,况且在索引的维护上也会消耗资源。数据库建立索引的常用规则如下:1.表的主键和外键建立索引2.在order by 或者 group by 后边建立索引3.数据量超过300的应该建立索引4.经常与其他表进行连接的表的字段,应该在该字段上建立索引5,经常出现...原创 2019-10-05 12:37:22 · 5526 阅读 · 0 评论 -
mysql 模糊查询的几种方式
mysql 模糊查询。我们一般写的sql语句是SELECT 【字段】FROM 【表】WHERE 【字段】LIKE 【匹配表达式】这里有四种匹配表达式:1.%匹配任意字段:select name from user where name like %三%;这样就会匹配 张三 李三 李三毛等,但是注意这个如果在name字段上添加了索引,并不会去使用索引,而是全文的检索,如果我们写成...原创 2019-10-05 12:18:57 · 2152 阅读 · 0 评论