分类: 数据库

12 篇文章

MySQL体检
1、mysqltuner.pl 这是mysql一个常用的数据库性能诊断工具,主要检查参数设置的合理性包括日志文件、存储引擎、安全建议及性能分析。针对潜在的问题,给出改进的建议,是mysql优化的好帮手。 在上一版本中,MySQLTuner支持MySQL / MariaDB / Percona Server的约300个指标。 项目地址:https:/…
数据库事务和锁
数据库的事务 什么是数据库的事务? 百度百科的解释:数据库事务( transaction)是访问并可能操作各种数据项的一个数据库操作序列,这些操作要么全部执行,要么全部不执行,是一个不可分割的工作单位。事务由事务开始与事务结束之间执行的全部数据库操作组成。 事务的四大特性是什么? 原子性:原子性是指包含事务的操作要么全部执行成功,要么全部失败回滚。…
数据量很大,分页查询很慢,有什么优化方案?
在开发过程中我们经常会使用分页,核心技术是使用limit进行数据的读取,在使用limit进行分页的测试过程中,得到以下数据: select * from news order by id desc limit 0,10耗时0.003秒select *…
如何搭建MySQL(双机热备)主从复制、读写分离
为什么会有主从复制与读写分离 当mysql数据库的数据量太大的时候,查询数据就很吃力了,无论怎么优化都会产生瓶颈,这时我们需要增加服务器设备来实现分布式数据库,实现多机热备份,要想实现多机的热备,首先要了解主从数据库服务器的版本的需求,主从mysql的安装运行版本需一致。 而读写分离就是把对数据库的读操作和写操作分离开,将读写压力分担到多台服务器上…
一个线上环境的大数据表,如何给它加索引?​
要是数据量在10几万以内,那你就可以直接用sql语句 ALTER TABLE table_name ADD INDEX index_name (column_list) 数据量过大时,直接执行加索引操作就会锁表,过大的表可能会达到数小时甚至导致服务崩溃.显然直接ALER表是不可取的。下面是解决该问题的方案 解决方案1 导出原表数据创建新表与原表结构…
自增ID和UUID的区别
自增ID和UUID的区别,自增ID是int类型,UUID是字符串类型 自增ID每次请求增加自增锁,然后拿自增ID,自增ID计算方式:之前的最大ID+步长。拿到自增ID后,会马上释放自增锁,当事务回滚时,id会出现不连续的现象。 UUID比自增ID占用空间更大,操作更复杂。
嵌套集合示例
嵌套集合插入 // 注册 public function register(Request $request) { try{ $post = $request->param(); $this->validate($post,Register::class); //验证短信验证码 if (!checkSms($post['phone'], '…
MySQL大表优化方案
当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化: 单表优化 除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑、部署、运维的各种复杂度,一般以整型值为主的表在千万级以下,字符串为主的表在五百万以下是没有太大问题的。而事实上很多时候MySQL单表的性能依然有不少优化空间,甚至能正常支撑千万级以上的…