Welcome 微信登录

首页 / 数据库 / MySQL

在MySQL的InnoDB存储引擎中count(*)函数的优化

在MySQL的InnoDB存储引擎中count(*)函数的优化

写这篇文章之前已经看过了很多数据库方面的优化内容,大部分都是加索引、使用事务、要什么select什么等等。然而,只是停留在阅读的层面上,很少有实践,因为没有遇到真实的项目,一切都是纸上谈兵。实践是检验真理的唯一标准,于是就想在数据库上测试一些性能优化的方案,比如索引之类的,但是不想使用假的数据,于是就想着能不能抓取网上的一些数据来作分析,后来自己通过PHP抓取了一些数据(这个博文即将补上),抓了大约110W的用户数据之后,当然需要统计一下具体的数量,于是我...
MySQL中VARCHAR和CHAR格式数据的区别

MySQL中VARCHAR和CHAR格式数据的区别

区别CHAR与VARCHAR类型类似,但它们保存和检索的方式不同。CHAR有固定的长度,而VARCHAR属于可变长的字符类型。它们最大长度和是否尾部空格被保留等方面也不同。在存储和检索过程中不进行大小写转换。下面的表格显示了将各种字符串值保存到CHAR(4)和VARCHAR(4)列后的结果,说明了CHAR和VARCHAR之间的差别:值CHAR(4)存储需求VARCHAR(4)存储需求""" "4个字节""1个字节"ab""ab "4个字节"ab"3个字节"...
Oracle归档日志删除

Oracle归档日志删除

我们都都知道在controlfile中记录着每一个archivelog的相关信息,当然们在OS下把这些物理文件delete掉后,在我们的controlfile中仍然记录着这些archivelog的信息,在Oracle的OEM管理器中有可视化的日志展现出,当我们手工清除archive目录下的文件后,这些记录并没有被我们从controlfile中清除掉,也就是oracle并不知道这些文件已经不存在了!这时候我们要做手工的清除的话,下面我经过实验,可以尝试这种方...
Oracle 还原库

Oracle 还原库

数据库一般有两种常见故障介质损坏人为失误防止介质损坏一般使用Data Guard等技术防止人为失误,可以使用Oracle闪回功能.但是人为失误一旦不能通过闪回恢复,就需要使用Rman恢复了。使用Rman恢复,想想那个恢复速度和自己窘迫的样子还有里三层外三层的老板,领导,同事..为了避免这个情况,可以使用另外一台服务器,做一个Oracle的还原库.主库每隔一段时间,将归档日志推送至还原库的指定目录(scp,rsync,我们使用的是小花狸监控软件)还原库每隔一...
从Java的类型转换看MySQL和Oracle中的隐式转换

从Java的类型转换看MySQL和Oracle中的隐式转换

说起数据类型转换,在开发中如此,在数据库中也是如此,之前简单对比过MySQL和Oracle的数据类型转换情况,可以参见MySQL和Oracle中的隐式转换 http://www.linuxidc.com/Linux/2015-09/122658.htm不过当时写完之后,有个读者随口问了一句为什么,为什么呢?似乎自己还是一知半解,说是规则,无规矩不成方圆,倒也无可非议,不过我觉得还是要再看看,看看还能有哪些收获,接下来的内容我就不能保证正确性了,希望大家明辨...
MySQL服务器时间同步问题处理

MySQL服务器时间同步问题处理

1,调整数据库服务器时间因为应用app摇一摇活动发现过时15分钟,还可以继续摇一摇,问题根源在于数据库服务器时间比应用服务器时间蛮了18分钟,而app取得是数据库的now(),所以才导致的。2个解决办法,1是修改程序代码,不通过数据库now()去取而是通过应用服务器取;2是直接修改数据库的时间。经过权衡之后采纳第二种方案。1.1,通过date -s修改时间修改linux服务器时间date -s 2015-08-03修改时间:date -s 10:18:00...
MongoDB 聚合报错

MongoDB 聚合报错

聚合框架它是数据聚合的一个新框架,其概念类似于数据处理的管道。 每个文档通过一个由多个节点组成的管道,每个节点有自己特殊的功能(分组、过滤等),文档经过管道处理后,最后输出相应的结果。管道基本的功能有两个:一是对文档进行“过滤”,也就是筛选出符合条件的文档;二是对文档进行“变换”,也就是改变文档的输出形式。errmsg:Exceeded memory limit for $group,but didn"t a...
如果使用得当,MySQL也可以化身NoSQL

如果使用得当,MySQL也可以化身NoSQL

【编者按】随着互联网和移动互联网的发展,各个机构都需要支撑远超过以往的数据。而在这个需求的刺激下,IT领域出现了大量数据处理技术,其中之一就是 NoSQL。灵活的数据类型,高效的处理能力,让NoSQL已占据数据管理系统的一席之地,比如人气NoSQL数据库MongoDB。然而在Wix工程实践中,他们发现,大量场景中其实并不需要NoSQL,反而成熟的RDBMS更具效益,比如MySQL。下面一起看Wix工程主管AviranMordo的分享,由 OneAPM工程 ...
Linux下实现MySQL数据库每天自动备份定时备份

Linux下实现MySQL数据库每天自动备份定时备份

概述备份是容灾的基础,是指为防止系统出现操作失误或系统故障导致数据丢失,而将全部或部分数据集合从应用主机的硬盘或阵列复制到其它的存储介质的过程。而对于一些网站、系统来说,数据库就是一切,所以做好数据库的备份是至关重要的!备份是什么?为什么要备份容灾方案建设存储介质光盘 磁带 硬盘 磁盘阵列 DAS:直接附加存储 NAS:网络附加存储 SAN:存储区域网络 云存储这里主要以本地磁盘为存储介质讲一下计划任务的添加使用,基本的备份脚本,其它存储介质只是介质的访问...
Oracle 在重要的表上限制某些IP、用户的恶意操作

Oracle 在重要的表上限制某些IP、用户的恶意操作

1,问题描述Oracle默认账号是没有限制ip的,这样的隐患就在于,如果我知道了oracle账号用户名密码,我只要能连接到db,就可以对db进行操作,这样对于线上的db来说是很危险的,因为有些非dba人员,比如开发人员、测试人员一不小心误删除了线上的数据,就惨了,坑太大不敢看。所以查了查,找到一种办法,在一些重要的表上加触发器来限制用户对线上db的表的操作。2,触发器编写如果开全局的sql审计,消耗性能太大,不太合适,想来只有在某些重要的表上做限制,初步解...
MongoDB不同版本实现主从复制

MongoDB不同版本实现主从复制

MongoDB有一个主要特性就是复制,有多种复制形式,其中,主从复制是比较常用的一种。主从复制的工作原理:首先要有两个或更多的服务器,其中一个是主节点,负责处理客户端的请求,其他的都是从节点,负责映射主节点的数据。主节点记录在其上执行的所有操作,从节点定期轮询主节点获得的这些操作,然后执行这些操作。由于从节点和主节点执行了相同的操作,从节点就能保持与主节点的数据同步。实战讲解一下MongoDB的搭建和主从复制,因为只有一台服务器,所以只能通过修改端口号实现...
通过Shell脚本抓取AWR报告中的问题SQL

通过Shell脚本抓取AWR报告中的问题SQL

awr报告中的sql明细部分基本必看的部分,尤其是SQL Order by Elapsed time这个部分,能够很清晰的看到哪些sql语句占用了较多的DB time,所占的比例。这个可以作为调优时的一个重要参考,可以有针对性的来看哪些sql需要格外关注。比如说我们得到了一个awr报告,Elapsed time这个部分的内容如下。可以很明显看出sql_id为dfb15m5s2uwmc的sql需要格外关注,因为它占用了近一半的DB time.Elapsed ...
Oracle数据文件管理

Oracle数据文件管理

1.数据文件概述Oracle数据库的数据文件(扩展名为DBF的文件)是用于保存数据库中数据的文件,系统数据、数据字典数据、临时数据、索引数据、应用数据等都物理地存储在数据文件中。用户对数据库中数据的操作,例如数据的插入、删除、修改和查询等,其本质都是对数据文件进行操作。所有数据文件占据空间的大小决定了数据库容量的大小。在Oracle数据库中,为了提高系统运行效率,用户并不是直接对数据文件进行操作,而是由数据库进程将用户需要的数据先由数据文件读取到数据高速缓...
<< 881 882 883 884 885 886 887 888 889 890 >>