
MYSQL
紫沐星
Hello world!
展开
-
【mysql技巧】按某一字段分组取最大(小)值所在行的数据
mysql技巧--按某一字段分组取最大(小)值所在行的数据,这是mysql数据库程序员经常用到的在处理一些报表数据时候可以活用!那么猎微网将总结几种mysql查询最大值 mysql查询最小值的方法!mysql表图如下具体Php 连接mysql数据库php代码我就不写 下面看select怎么查询一、按name分组取val最大的值所在行的数据。-转载 2016-08-17 14:38:11 · 20419 阅读 · 1 评论 -
mysql 多列索引的生效规则
mysql中 myisam,innodb默认使用的是 Btree索引,至于btree的数据结构是怎样的都不重要,只需要知道结果,既然是索引那这个数据结构最后是排好序;就像新华字典他的目录就是按照a,b,c..这样排好序的;所以你在找东西的时候才快,比如你找 “中” 这个字的解释,你肯定就会定位到目录的 z 开头部分;组合索引可以这样理解,比如(a,b,c),abc都是排好序的,在任意一段a的下面b...转载 2018-04-16 15:59:21 · 192 阅读 · 0 评论 -
MYSQL 索引相关
为什么需要索引(Why is it needed)?当数据保存在磁盘类存储介质上时,它是作为数据块存放。这些数据块是被当作一个整体来访问的,这样可以保证操作的原子性(原子性是指一个完整的事务程序,要么成功,要么失败回滚)。硬盘数据块存储结构类似于链表,都包含数据部分,以及一个指向下一个节点(或数据块)的指针,不需要连续存储。记录集只能在某个关键字段上进行排序,所以如果需要在一个无序字段翻译 2017-11-08 10:51:19 · 256 阅读 · 0 评论 -
Mysql5.6主从复制-基于binlog
MySQL5.6开始主从复制有两种方式:基于日志(binlog);基于GTID(全局事务标示符)。此文章是基于日志方式的配置步骤环境:master数据库IP:192.168.247.128slave数据库IP:192.168.247.130mysql版本:5.6.141.修改master配置文件并重启服务:[mysqld]server_i转载 2017-11-21 14:27:30 · 355 阅读 · 0 评论 -
MySQL binlog日志
binlog 基本认识 MySQL的二进制日志可以说是MySQL最重要的日志了,它记录了所有的DDL和DML(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的。 一般来说开启二进制日志大概会有1%的性能损耗(参见MySQL官方中文手册 5.1.24版)。二进制有两个最重要的使用场景: 其一:MySQL Replication在Mas转载 2017-11-15 16:28:55 · 307 阅读 · 0 评论 -
死锁产生的原因和解锁的方法
死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。死锁产生的原因和解锁的方法产生死锁的四个必要条件:(1) 互斥条件:一个资源每次只能被一个进程使用。(2) 请求与保持条件:一个进程因请求资源而阻塞转载 2017-11-03 16:12:29 · 610 阅读 · 0 评论 -
平时优化SQL的集合
cms_program表里字段有80多个,数据有300多W,我来时就这样了~~~额,问领导反应过,,,,额,,,案例一:select * from `cms_program` where `fr_dict_epg_status` = 64 and `fr_tb_source` = 2 order by `id` asc limit 50 offset 0平均12秒左右优化后的其原创 2017-11-09 11:23:43 · 238 阅读 · 0 评论 -
mysql explain执行计划详解
1)、id列数字越大越先执行,如果说数字一样大,那么就从上往下依次执行,id列为null的就表是这是一个结果集,不需要使用它来进行查询。 2)、select_type列常见的有:A:simple:表示不需要union操作或者不包含子查询的简单select查询。有连接查询时,外层的查询为simple,且只有一个B:primary:一个需要union操作或者含有子查询的转载 2017-11-08 12:30:06 · 408 阅读 · 0 评论 -
SQL优化避免索引失效
Oracle 索引的目标是避免全表扫描,提高查询效率,但有些时候却适得其反。例如一张表中有上百万条数据,对某个字段加了索引,但是查询时性能并没有什么提高,这可 能是 oracle 索引失效造成的。oracle 索引有一些限制条件,如果你违反了这些索引限制条件,那么即使你已经加了索引,oracle还是会执行一次全表扫描,查询的性能不会比不加索引有所提高, 反而可能由于数据库维护索引的系统开销造成转载 2016-08-17 14:57:09 · 1473 阅读 · 0 评论 -
linux上修改ssh密码和mysql密码
修改ssh密码sudo passwd root修改mysql密码方法1: 用SET PASSWORD命令 mysql -u root mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');方法2:用mysqladmin mysqladmin -u原创 2017-03-06 09:59:17 · 4869 阅读 · 0 评论 -
大型架构
一、大型网站的特点用户多,分布广泛大流量,高并发海量数据,服务高可用安全环境恶劣,易受网络攻击功能多,变更快,频繁发布从小到大,渐进发展以用户为中心免费服务,付费体验 二、大型网站架构目标高性能:提供快速的访问体验。高可用:网站服务一直可以正常访问。可伸缩:通过硬件增加/减少,提高/降低处理能力。安全性:提供网站安全访问和数据加密,安全存储等策略。扩展性:方便的通过新增/移转载 2017-09-22 16:32:32 · 727 阅读 · 0 评论 -
一直用PDO,PHP中操作MYSQL数据库常用函数还记得不
1、mysql_connect()-建立数据库连接 格式: resource mysql_connect([string hostname [:port] [:/path/to/socket] [, string username] [, string password]]) 例: $conn = @mysql_connect("localhost", "username", "p转载 2017-09-22 16:58:31 · 1061 阅读 · 0 评论 -
mysql 性能
会经常发现开发人员查一下没用索引的语句或者没有limit n的语句,这些没语句会对数据库造成很大的影响,例如一个几千万条记录的大表要全部扫描,或者是不停的做filesort,对数据库和服务器造成io影响等。这是镜像库上面的情况。 而到了线上库,除了出现没有索引的语句,没有用limit的语句,还多了一个情况,mysql连接数过多的问题。说到这里,先来看看以前我们的监控做法 1. 部署za转载 2016-10-21 15:43:35 · 315 阅读 · 0 评论 -
Mysql CPU占用高的问题解决方法小结
最近发现php网站发布信息比较慢,而且同网站目录下的asp经常登录后立即就重新登录,立即考虑到服务器资源占用问题,所以进服务器看到原来mysql占用率较高 25-60%左右,偶尔能跑到100%,所有导致上述问题的发生通过以前对mysql的操作经验,先将mysql的配置问题排除了,查看msyql是否运行正常,通过查看mysql data目录里面的*.err文件(将扩展名改为.txt)转载 2016-08-17 15:43:31 · 1942 阅读 · 0 评论 -
MySQL的if,case语句使用总结
Mysql的if既可以作为表达式用,也可在存储过程中作为流程控制语句使用,如下是做为表达式使用:IF表达式IF(expr1,expr2,expr3)如果 expr1 是TRUE (expr1 NULL),则 IF()的返回值为expr2; 否则返回值则为 expr3。IF() 的返回值为数字值或字符串值,具体情况视其所在语境而定。select *,if(sva=1,"男","转载 2016-08-17 15:13:01 · 272 阅读 · 0 评论