数据库
lanyue1
这个作者很懒,什么都没留下…
展开
-
数据库delete不释放空间处理方法
最近做项目遇到个问题,数据库实际有效数据才几万行,但是因为该表属于频繁变动的表,单节点实际已经超过30亿行,rowid一直在增加,直接导致表不可用。最后分析下来,是因为delete操作只是将数据标识位删除,并没有整理数据文件,因此在数据文件中留下了碎片,不释放其占用的空间。如果一张表,频繁被insert、delete,且删除的数据没有规律,那么数据就会出现大量的空洞,占用磁盘空间且影响...原创 2018-03-07 23:16:01 · 17981 阅读 · 1 评论 -
MySQL性能分析方法
1、慢查询SQL排查1)、开启慢查询日志,可以让MySQL记录下查询超过指定时间的语句,通过定位分析性能的瓶颈,才能更好的优化数据库系统的性能。2)、参数说明:slow_query_log 慢查询开启状态slow_query_log_file 慢查询日志存放的位置(这个目录需要MySQL运行帐号的可写权限,一般设置为MySQL的数据存放目录)long_query_time 查询超过...原创 2019-03-20 19:23:09 · 318 阅读 · 0 评论 -
MySQL主从复制
1、概念数据可以从一个MySQL数据库服务器主节点复制到一个或多个从节点。MySQL 默认采用异步复制方式,这样从节点不用一直访问主服务器来更新自己的数据,数据的更新可以在远程连接上进行,从节点可以复制主数据库中的所有数据库或者特定的数据库,或者特定的表。2、作用1)读写分离在开发工作中,有时候会遇见某个sql 语句需要锁表,导致暂时不能使用读的服务,这样就会影响现有业务,使用主从复制,让主...原创 2019-03-14 22:56:17 · 295 阅读 · 0 评论 -
MySQL锁机制
1、概念锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的 计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一 个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。按操作类型分类:读锁(共享锁,对于多个读操作可以同时进行,互不干扰),写锁(互斥锁,如果当前写操作没有完成,...原创 2019-03-13 23:34:26 · 222 阅读 · 0 评论 -
MySQL存储引擎
和其它数据库相比,MySQL有点与众不同,它的架构可以在多种不同场景中应用并发挥良好作用。主要体现在存储引擎的架构上,插件式的存储引擎架构将查询处理和其它的系统任务以及数据的存储提取相分离。这种架构可以根据业务的需求和实际需要选择合适的存储引擎。一、逻辑架构连接层 :是一些客户端和连接服务,包含本地socket通信和大多数基于客户端/服务端工具实现的类似于tcp/ip的通信。主要完成一...原创 2019-03-04 22:42:35 · 314 阅读 · 0 评论 -
MySQL索引原理及SQL优化
一、索引定义索引是一种高效获取数据的存储结构,是一个排序的列表,在这个列表中存储着索引的值和包含这个值的数据所在行的物理地址。在数据十分庞大的时候,索引可以大大加快查询的速度,这是因为使用索引后可以不用扫描全表来定位某行的数据,而是先通过索引表找到该行数据对应的物理地址然后访问相应的数据。优势:提高查询效率,降低I/O次数;降低CPU使用率,B树本身就是一个排好序的结构,根据索引可以加快分...原创 2019-03-11 08:32:44 · 219 阅读 · 0 评论 -
Linux下MySQL安装部署
一、版本下载路径:https://www.mysql.com/downloads/,选择最下方的下载链接进入目前已经到8.0.15版本了,但是在公司里大部分都使用5.x版本,从5.4以后MySQL整合了三方公司的新存储引擎,推荐使用5.5或5.7,这里以5.5版本为例。linux下安装MySQL有三种方式yum、tar.gz、rpm,这里选择rpm方式安装。查看linux系统是3...原创 2019-02-28 22:16:31 · 1385 阅读 · 0 评论 -
Mysql插入重复行数据处理方法
1、需求在mysql更新数据时,我们经常希望如果数据库中存在该条记录,就只对其更新相关字段属性(如时间)或者不做处理,如果不存在记录就直接插入。2、常规思维通过查询是否包含该条记录,存在则更新否则就插入该方法需要每条查询判断然后再更新或插入执行sql性能很低,容易造成阻塞。3、mysql处理方法以下方法同时也支持批量处理:1)对于主键和唯一索引,可以用IGNORE关键字,遇到重复...原创 2018-09-28 09:49:48 · 2543 阅读 · 0 评论 -
GP数据库初始化失败定位
1、背景在两台主机上安装包含master、standby、segment的一套GP数据库,在初始化阶段出现失败。查看GP数据库的启停日志文件 /home/gpadmin/gpAdminLogs,错误信息如下:20180317:08:31:39:087050 gpsegstart.py_host77:gpadmin:host77:gpadmin-[INFO]:-Postmaster /data2/p...原创 2018-03-17 15:02:42 · 1702 阅读 · 0 评论 -
MySQL性能优化之explain分析
MySQL 提供了explain 命令, 它可以对 SELECT 语句进行分析,并输出 SELECT 执行的详细信息, 以供开发人员针对性优化。深入了解MySQL基于开销的优化器,可以获得很多可能被优化器考虑到的访问策略的细节,以及当运行SQL语句时哪种策略预计会被优化器采用。explain命令用法十分简单, 在 SELECT 语句前加上explain就可以了。mysql> explai...原创 2019-03-13 20:52:05 · 445 阅读 · 2 评论