![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mysql
文章平均质量分 54
我们一直在路上
这个作者很懒,什么都没留下…
展开
-
mysql-怎么统计同一列不同值的数量
统计不同商品名称上的商品数量方式一符合商品的为true,不符合的为空select count(goods_name = "测试" or null) as count1, count(goods_name = "菲律宾进口香蕉" or NULL) AS couunt2from tb_goods_spu;方式二如果符合商品的为1,不符合的为0select sum(IF...原创 2020-05-05 14:24:06 · 1058 阅读 · 0 评论 -
mysql优化-性能查询优化(一)
优化数据访问一、是否向数据库请求了不需要的数据查询了不要的记录:页面只需要展示10条数据,数据库查询了100条。需要使用limit多表关联时返回了全部的列:多表的关联的时候,获取需要使用到列,而不是全部的列总是列表全部的列:不要用select * ,虽然可以简化代码开发和代码利用率。但是需要额外的io,内存和cpu消耗重复查询想听的数据: 比如多个商品的分类id,是同一个,只要...原创 2020-04-30 18:02:58 · 116 阅读 · 0 评论 -
Windows下Mysql5.7忘记root密码的解决方法
Windows下Mysql5.7忘记root密码的解决方法1、 首先检查mysql服务是否启动,若已启动则先将其停止服务,可在开始菜单的运行,使用命令:net stop mysql打开第一个cmd窗口,切换到mysql的bin目录,运行命令:mysqld --defaults-file=“C:\ProgramData\MySQL\MySQL Server 5.7\my.ini” --ski...转载 2020-04-23 15:13:28 · 1348 阅读 · 0 评论 -
mysql优化-使用索引扫描来做排序
mysql可以使用同一个索引既满足排序,又用于查询行。如果可能,设计索引时,应该尽可能的同时满足这两种任务是最好的。一、什么时候可以用索引扫描进行排序只要当索引列的顺序和order by字句的顺序完全一致 ,并且所有列的排序方向(倒叙或正序)都一样时。才能用索引扫描进行排序。 如果查询需要关联多张表,则只有当order by字句应用的字段全部为第一张表时,才能使用索引排序。而且order by...原创 2020-04-09 14:11:30 · 271 阅读 · 0 评论 -
mysql优化-如何优化联合索引的顺序
在MySQL的where条件中,有时会用到很多的条件,通常为了加快速度会把这些字段放到联合索引中,可以更快的提高搜索速度;但是对联合索引中字段顺序的合理排序,便更能提高速度例子:select * from table where (groupid=1000) and (userid=500) and (time=140012345)建立的索引也通常很随性的就按照where条件中字段的顺序建立...原创 2020-04-08 17:56:52 · 905 阅读 · 1 评论 -
mysql一星、二星、三星索引
1星索引:可以通过索引扫描数据2星索引:在1星的基础上,可以使用覆盖索引,无需再回表查询3星索引:在二星的基础上,可以利用索引完成排序。原创 2020-04-08 13:26:23 · 913 阅读 · 0 评论 -
mysql优化-怎么创建前缀索引
一、怎么创建前缀索引当我们索引的字段是很长的字符串时,可以用到前缀索引表结构CREATE TABLE `tb_goods_spu` ( `id` bigint(20) NOT NULL COMMENT '主键', `goods_name` varchar(128) NOT NULL COMMENT '商品名称', PRIMARY KEY (`id`) )创建前缀索引结构...原创 2020-04-07 15:22:57 · 5536 阅读 · 0 评论 -
mysql优化、数据类型的优化
1、优化数据类型更小的通常更好,更小的数据类型通常更快,因为它们占用更小的磁盘,内存.cpu缓存.处理时需要的cpu周期短.但是要确保没有低估需要存储值的范围.简单就好,简单数据类型需要更好的cpu周期.例如,整数比字符串操作代价更低,因为字符集和校对规则(排序规则)使字符比整型比较更加复杂.尽量避免null,查询中包含可以null的值,mysql更难优化,因为可为null的列索引、索引统...原创 2020-03-22 22:56:41 · 71 阅读 · 0 评论 -
Mysql学习之order by的工作原理
原文地址:http://www.cnblogs.com/lamp01/ 在你开发应用的时候,一定会经常碰到需要根据指定的字段排序来显示结果的需求。假设你要查询城市是“杭州”的所有人名字,并且按照姓名排序返回前 1000 个人的姓名、年龄。查询语句为:select city,name,age from t where city='杭州' order by name limit 100...转载 2020-03-22 22:08:49 · 104 阅读 · 0 评论 -
mysql优化-优化分页查询
数据库表CREATE TABLE `goods` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(10) DEFAULT NULL, `price` double DEFAULT NULL, `create_time` datetime DEFAULT NULL, PRIMARY KEY (...原创 2020-03-22 13:39:16 · 71 阅读 · 0 评论 -
mysql计算两个坐标之间的距离
表结构CREATE TABLE tb_distance (id int(11) NOT NULL AUTO_INCREMENT,lng decimal(10,2) DEFAULT NULL,lat decimal(10,2) DEFAULT NULL,PRIMARY KEY (id)) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf...原创 2020-03-21 16:36:24 · 1447 阅读 · 2 评论 -
mysql中ON DUPLICATE KEY UPDATE...使用
一、需求当我们对数据库中某一个主键字段值是否存在,来进行添加或修改操作时,我们往往将这个逻辑放到代码中,这次我们将用sql来实现.二、实战数据表:其中我们id字段主键当我们执行如下sql:查询结果执行成功了!查看数据表我们发现了id=4的house_id、user_id更新了而id=5的数据插入了ON DUPLICATE KEY UPDATE 会根据主键冲突,或者唯一主...原创 2020-03-20 11:49:51 · 506 阅读 · 0 评论 -
mysql中IGNORE使用
一、批量插入数据忽略失败的数据行数据表的字段,ID为主键当我们执行一下插入语句时:执行结果:我们看到报错了一个主键冲突的错,1确实主键冲突了,其实4主键没有冲突,这是我们想将不冲突的数据依然插入到数据库,可以执行以下的语句执行结果:我们可以看到,插入成功了,并影响了一行数据.我们看下数据表:id等于4的这条数据已经插入进来了.总结:加上ignore 关键字,可以将其中...原创 2020-03-20 11:05:21 · 10499 阅读 · 1 评论 -
mysql参数设置详解
InnoDB配置从MySQL 5.5版本开始,InnoDB就是默认的存储引擎并且它比任何其它存储引擎的使用要多得多。那也是为什么它需要小心配置的原因。1 innodb_file_per_table表的数据和索引存放在共享表空间里或者单独表空间里。我们的工作场景安装是默认设置了innodb_file_per_table = ON,这样也有助于工作中进行单独表空间的迁移工作。MySQL 5.6中...原创 2020-03-19 19:04:55 · 1058 阅读 · 0 评论 -
mysql数据库中的mvcc
一、什么是MVCC?Multiversion concurrency control (多版本并发控制)并发访问(读或写)数据库时,对正在事务内处理的数据做多版本的管理.以用来避免写操作的堵塞,从而引发读操作的并发问题二、 MVCC中的插入流程数据行当中有隐藏的2列DB_TRX_ID:数据行的版本号,即事务的id值DB_ROLL_PT:删除版本号当插入数据时,DX_TRX_ID =...原创 2020-03-19 12:38:08 · 258 阅读 · 0 评论 -
mysql锁的介绍
一、理解表锁、行锁锁是用于管理不同时事务对共享资源的访问表锁与行碎的区别:锁定的粒度:表锁> 行锁加锁效率:表锁>行锁冲突概率:表锁>行锁并发性能:表锁>行锁InnoDB存储引擎支持行锁和表锁,表锁就是就把所有的行锁起来二、Mysql InnoDB 锁的类型共享锁(行锁): Shared Locks排它锁(行锁): Exclusive Locks...原创 2020-02-26 20:32:40 · 145 阅读 · 0 评论 -
离散性、最左匹配原则、覆盖索引、联合索引
列的离散性列的离散性通过count(列)来计算,值越高,离散性越好,选择性就越好。就越适合做索引列。最左匹配原则覆盖索引如果查询列可通过索引节点中的关键字直接返回,则该索性称为覆盖索引。这个时候随机的io变成顺序的io,可以提升效率联合索引单列索引节点保存的关键字name联合索引节点保存的关键字name,phone其实单列索引就是特殊的联合索引联合索引列选择原则经常用的列...原创 2020-02-20 15:30:23 · 533 阅读 · 0 评论 -
b+tree在myisam和innodb中的表现形式
标题原创 2020-02-19 20:52:59 · 81 阅读 · 0 评论 -
为什么mysql索引选择b+tree
标题原创 2020-02-19 16:18:56 · 438 阅读 · 0 评论 -
mysql常见的存储引擎
存储引擎的介绍插拔式的存储方式存储引擎是作用在表之上的,一个库中的每一个表都可以设置不同的存储引擎。不管采用什么样的存储引擎,都会在数据区产生这个frm文件,该文件是表结构的描述文件。CSV存储引擎数据以CSV文件存储,以文本文档存储,innodb是二进制文件。. csv文件存储表内容,. csm文件存储元数据如表的状态和数据量。特点:...原创 2020-02-20 17:29:34 · 132 阅读 · 0 评论 -
mysql执行流程和阶段分析
标题原创 2020-02-21 12:05:51 · 226 阅读 · 0 评论