mysql
码农Robin
不会讲段子的厨子不是一个好的码农
展开
-
在服务器上通过命令导出mysql数据库数据
www/wwwroot/bak.sql:导出后的文件路径。原创 2023-07-09 11:23:24 · 76 阅读 · 0 评论 -
Mysql性能调优
一、影响性能的几方面服务器硬件服务器系统数据库存储引擎的选择(插件式存储引擎): myisam:不支持事务,表级锁 innodb:事务级存储引擎,完美支持行级锁,事务ACID特性数据库参数配置数据库结构设计和SQL语句二、服务器硬件衡量数据库处理能力的指标:QPS:同时处理SQL的数据CPUCPU密集型(当前版本不支持多CPU对同一SQL并发处...原创 2019-08-12 11:15:12 · 319 阅读 · 0 评论 -
数据库之分库分表-垂直?水平?
一、数据库瓶颈不管是IO瓶颈,还是CPU瓶颈,最终都会导致数据库的活跃连接数增加,进而逼近甚至达到数据库可承载活跃连接数的阈值。在业务Service来看就是,可用数据库连接少甚至无连接可用。接下来就可以想象了吧(并发量、吞吐量、崩溃)。IO瓶颈第一种:磁盘读IO瓶颈,热点数据太多,数据库缓存放不下,每次查询时会产生大量的IO,降低查询速度 -> 分库和垂直分表。第二种:网络IO瓶...转载 2019-05-08 11:18:27 · 465 阅读 · 0 评论 -
MySQL的四种事务隔离级别
一、事务的基本要素(ACID)1、原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体,就像化学中学过的原子,是物质构成的基本单位。2、一致性(Consistency):事务开始前和结束后,数据库的完整性约束没有被破坏 。比如A向B转账,不可...转载 2019-01-23 11:17:38 · 109 阅读 · 0 评论 -
Mysql主从复制+读写分离
一、mysql主从同步定义主从同步使得数据可以从一个数据库服务器复制到其他服务器上,在复制数据时,一个服务器充当主服务器(master),其余的服务器充当从服务器(slave)。因为复制是异步进行的,所以从服务器不需要一直连接着主服务器,从服务器甚至可以通过拨号断断续续地连接主服务器。通过配置文件,可以指定复制所有的数据库,某个数据库,甚至是某个数据库上的某个表。使用主从同步的好处:通过增加...原创 2019-01-21 21:50:50 · 171 阅读 · 0 评论 -
Mysql优化
一、为什么学习Mysql优化1、Mysql的连接数过大的情况(这种情况下大部分都可以使用redis、memcache、mongodb等缓存系统减少mysql的连接,但是有部分业务逻辑是必要查询数据库的,不能依赖缓存,因此Mysql必须承担此压力)2、Mysql本身SQL语句的执行效率很慢二、Mysql优化的入口点1、SQL语句层:更合适的SQL语句2、存储层(数据):数据表存储引擎的选择...原创 2019-01-03 00:12:01 · 368 阅读 · 0 评论 -
通过php代码备份、还原Mysql数据库
mysql数据库备份、还原原创 2018-12-25 23:01:05 · 2387 阅读 · 0 评论 -
MySQL 大表优化方案
当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化:单表优化除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑、部署、运维的各种复杂度,一般以整型值为主的表在千万级以下,字符串为主的表在五百万以下是没有太大问题的。而事实上很多时候MySQL单表的性能依然有不少优化空间,甚至能正常支撑千万级以上的数据量:字段1、尽量使用TINYINT、SMA...转载 2018-12-11 15:57:44 · 283 阅读 · 0 评论 -
CAP理论
什么是CAP理论?2000年7月,加州大学伯克利分校的Eric Brewer教授在ACM PODC会议上提出CAP猜想。2年后麻省理工学院的Seth Gilbert和NancyLynch从理论上证明了CAP,之后CAP理论正式成为分布式计算领域的公认定理。CAP理论是由下面三个概念组成的,且在分布式系统中三者不能兼得,只能同时满足两种条件。一致性(C)All nodes see the ...转载 2018-12-07 12:16:14 · 244 阅读 · 0 评论 -
通过修改mysql配置来优化性能
innodb_flush_log_at_trx_commit和sync_binlog是MySQL innodb引擎的两个重要的参数,其中innodb_flush_log_at_trx_commit是将事务日志从innodb log buffer写入到redo log中,sync_binlog是将二进制日志文件刷新到磁盘上。innodb事务日志redo,binlog逻辑过程如下:1.事务写入re...转载 2018-11-27 11:24:38 · 469 阅读 · 0 评论 -
MySQL分库分表的策略
一、先说一下为什么要分表:当一张的数据达到几百万时,你查询一次所花的时间会变多,如果有联合查询的话,有可能会死在那儿了。分表的目的就在于此,减小数据库的负担,缩短查询时间。日常开发中我们经常会遇到大表的情况,所谓的大表是指存储了百万级乃至千万级条记录的表。这样的表过于庞大,导致数据库在查询和插入的时候耗时太长,性能低下,如果涉及联合查询的情况,性能会更加糟糕。分表和表分区的目的就是减少数据库的负...转载 2018-11-30 09:00:12 · 772 阅读 · 0 评论 -
MySQL 索引优化
本文主要讨论MySQL索引的部分知识。将会从MySQL索引基础、索引优化实战和数据库索引背后的数据结构三部分相关内容,下面一一展开。一、MySQL——索引基础首先,我们将从索引基础开始介绍一下什么是索引,分析索引的几种类型,并探讨一下如何创建索引以及索引设计的基本原则。此部分用于测试索引创建的user表的结构如下:1、什么是索引“索引(在MySQL中也叫“键key”)是存储引擎快速找到...转载 2018-12-04 15:13:08 · 660 阅读 · 0 评论 -
mysql中的concat相关函数
一、concat()函数功能:将多个字符串连接成一个字符串语法:concat(str1,str2,…) 其中的字符串既可以是数据表字段,也可以是指定的字符串返回结果为连接参数产生的字符串,如果有任何一个参数为null,则该条记录的返回值为null二、concat_ws()函数功能:和concat()一样,将多个字符串连接成一个字符串,但是可以一次性指定分隔符(concat_ws就是...原创 2018-11-23 09:08:59 · 385 阅读 · 0 评论 -
【find_in_set】SQL中查找某个特定字符串出现在指定字段(N子链)中的位置
在mysql数据库中,我们会经常用到in语法,用来查找某个字段包含N子链中的一个或多个字符串,如:select * from table where id in('1,2,3,4'); 但如果某个字段本身是存储的N子链,然后需要查出其中拥有某个特定值呢?这种需求在数据分发中经常出现。比如说有这么一个表:见名知义,其中tags代表文章的标签,分别用数字1,2,3,4……来代表...原创 2018-11-22 16:43:04 · 2750 阅读 · 0 评论 -
【sumcol】SQL中同记录字段求和并排序
在mysql数据库中有一张人物表t_character,字段名及数据如下:现在有一个需求,需要查询出攻击力与防御力之和排名前三的人物,并按其速度从大到小排序。难点在于同一条记录中的不同字段求和排序,这里用到一个mysql中不常用的函数sumcol:select * from t_character a right join ( select id,(attack+defence)SUMC...原创 2018-11-22 16:17:22 · 4509 阅读 · 0 评论