mysql
Hui_hui..
欢迎大家一起交流学习哈~
展开
-
介绍几种提高mysql的性能和对于sql的优化的方法
笔者自己平时因为用mysql比较多,而且mysql的数据量也比较大,所以这里希望能够提供一些优化mysql数据库的一些方法,每招都是成本从低到高。也是一般我们开发先执行的顺序。第一招: 优化你的sql和添加索引,还有设置存储引擎 (MYISAM和INNODB); (比如你查询的sql尽量查到刚好够用的数据就好,索引不要太多要设置的合理,对于经常要查询的字段记得添加索引。如果...原创 2018-03-23 15:12:33 · 698 阅读 · 0 评论 -
分页查询最后几个页面耗时优化
背景上海项目,148w的poi,查询最后几页时竟然耗时如此严重?接近20s。然而前两页的查询性能很快。 优化思路网上的优化思路https://www.cnblogs.com/lpfuture/p/5772055.html,拿来测试一下。确实优化了很多。但是,还有优化空间https://blog.csdn.net/a724888/article/details/60...原创 2018-11-01 14:23:06 · 2503 阅读 · 0 评论 -
自定义数据结构设计JDBC连接池提高性能
// 后面贴上源码之前写一个小工具,发现了一个问题,发现部署到云计算上面,由于需要操作其他环境的数据库,发现获取66 175环境的获取连接非常缓慢。通过打印日志,然后部署到服务器,发现获取175环境的数据库连接池居然要6s?? 获取66环境需要3s 显然不合理? 一个查询居然要5-6秒,具体原因我真的不懂,为啥175连的那么困难? 是不是物理机隔得太远了?还是啥。。 反正...原创 2018-11-01 14:11:23 · 387 阅读 · 0 评论 -
简单的给大家说一下mysql建库建表的字符集和排序规则
直说重点字符集 一般就 utf8 和utf8mb4的选择注意,请选择utf8mb4, mb4是用4个字节来存的。utf8是3个字节,有些特殊表情和字是四个字节,就会insert错误。另外字符集 utf8_bin utf8_general_ci utf8_general_csutf8_bin 二进制字符集,二进制存,你懂得,严格区分大小写啥的utf8_gen...原创 2018-10-10 10:24:24 · 3350 阅读 · 2 评论 -
如何保证数据库集群时候,主从库一致性的问题?
前言: 数据库集群,读写分离现在可以说是项目必备的了,但是我们如何保证其每个数据库的数据一致性? 1 半同步复制 简单的说就是: 主库发生增删改操作的时候,会等从库及时复制了并且通知了主库, 才会把这个操作叫做成功. 优点:保证数据一致性 缺点:就是会慢专业的讲: 半同步复制,是等待其中一个从库也接收到Binlog事务并成功写入Relay Log之后,才返回C...原创 2018-09-06 15:23:14 · 19746 阅读 · 3 评论 -
innoDB、myisam、memory、BlackHole以及这几个引擎的讲解
innoDB存储引擎(1) innodb存储引擎的mysql表提供了事务,回滚以及系统崩溃修复能力和多版本迸发控制的事务的安全。(2)innodb支持自增长列(auto_increment),自增长列的值不能为空,如果在使用的时候为空的话怎会进行自动存现有的值开始增值,如果有但是比现在的还大,则就保存这个值。(3)innodb存储引擎支持外键(foreign key) ,外键所在的表称...原创 2018-08-20 23:36:19 · 329 阅读 · 0 评论 -
group by /having / where 区别
where过滤无法做到,因为where语句的执行在分组之前,因此过滤在分组之前。并且,where只能过滤行,不能过滤分组。(where中不能使用聚合函数) having可以对group分组的结果集进行过滤,因其执行在分组之后,并其过滤可以基于分组聚集值。(having子句中可以直接使用聚合函数)有这样的说法,“having子句中的列只能是group by子句中的列或者聚合函数的列”。实...原创 2018-08-20 23:35:15 · 451 阅读 · 0 评论 -
什么是存储过程?用什么来调用?
答:存储过程是一个预编译的SQL语句,比如一些场景的sql比较复杂,并且需要经常使用或者多次使用的。存储过程的优点是说只需创建一次编译一次,以后在该程序中就可以多次直接调用。如果一个sql是经常需要操作的,并且逻辑不容易改变,使用存储过程比单纯SQL语句执行要快,因为sql每次查询而且都需要编译。而且网络开销也大,存储过程只需要传一个名字,在数据库调用就行了,而且这样程序可移植高。 优势:...原创 2018-08-20 23:34:24 · 13703 阅读 · 0 评论 -
讲讲数据库字段用了关键字怎么办
今天我就用了数据库的关键字,也就是保留字。我们应该在保留字加上 `` 也就是键盘esc那两个点。这样mysql就可以识别了、、就这么简单<insert id="insert" useGeneratedKeys="true" keyProperty="id"> insert into descbody (desc_body_id,`key`, key_desc, ke...原创 2018-07-23 15:36:57 · 2775 阅读 · 0 评论 -
数据库的切分和优化
1.引言 随着互联网应用的普及,海量数据的存储和访问成为了系统设计的瓶颈问题。对于一个大型的互联网应用,每天几十亿pv无疑对数据库造成了相当高的负载。对于系统的稳定性和扩展性造成了极大的问题。 通过数据切分来提高网站性能,横向扩展数据层已经成为架构研发人员首选的方式: (1)水平切分数据库:可以降低单台机器的负载,同时最大限度的降低了宕机造成的损失; (2)通过负...原创 2018-04-13 09:55:14 · 164 阅读 · 0 评论 -
btree和hash索引的区别
版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/u014307117/article/details/47325091觉得讲的挺好的 ,所以我就不自己写了 , 转载一下希望更多人看到 ,很详细,原作者辛苦了。索引是帮助mysql获取数据的数据结构。最常见的索引是Btree索引和Hash索引。不同的引擎对于索引有不同的支持:Innodb和MyISAM默认的...转载 2018-03-28 11:04:06 · 644 阅读 · 0 评论 -
数据库事物的ACID四大特性及脏读,不可重复读,幻读,事物丢失等
(最简单,最通俗) 先介绍一下事物的ACIDA 原子性(Atomicity) 就是把事物分割成像原子一样,表示我们事物需要细微的去控制。比如我给你转钱,里面有我扣钱,你到账。总不能我扣了钱,你没到账这种情况吧。所以就是指转账这个事物, 里面的所有环节哪怕一个出错,都需要事物回滚,就是一切回到之前那样。C 一致...原创 2018-03-24 18:56:05 · 2447 阅读 · 5 评论 -
mysql数据库实时集群和备份
前言:最近由于业务需要,需要搭建高可用和支持实时备份和恢复,本来想直接采用公司的数据库服务。无奈公司没有资源,所以就搞了几台Linux主机自己搭建啦。(里面涉及的文件、配置、脚本代码我都贴到附件了)过程:一 购买云主机二 搭建Mysql数据库,首先你需要需要删除干净本机的原先数据库--->https://jingyan.baidu.com/article/4b...原创 2019-08-31 16:32:07 · 1504 阅读 · 0 评论