MySQL数据库+优化

 

数据库设计三大范式

一 原子性

二 必须有主键   满足1NF后,要求表中的所有列,都必须依赖于主键,而不能有任何一列与主键没有关系,也就是说一个表只描述一件事情;

三 减少数据冗余 看实际需求数据不能存在传递关系,即没个属性都跟主键有直接关系而不是间接关系

 

SQL优化

Group by 默认分组是有排序的,这样降低效率order by null 禁掉排序

查询条件like以%开头就会放弃索引,可以考虑在字段的固定加同样的字符

例如 like”%234%”  like”000%234”   

联合索引的时候,服从数据库的最左列原则,为防止索引失效可以在条件前拼接一个联合字段条件例如  where  name = name and dec = “test”

 

如果data目录下发现这三种文件,后辍名分别为-frm,myi,myd一个表同时有3个你上面说的文件,则存储引擎是myisam,其中可以简单理解成这样:

(1)*.frm--表定义,是描述表结构的文件。
(2)*.MYD--"D"数据信息文件,是表的数据文件。
(3)*.MYI--"I"索引信息文件,是表数据文件中任何索引的数据树。

 

索引创建

1.添加PRIMARY KEY(主键索引) 
mysql>ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` ) 
2.添加UNIQUE(唯一索引) 
mysql>ALTER TABLE `table_name` ADD UNIQUE ( 
`column` 

3.添加INDEX(普通索引) 
mysql>ALTER TABLE `table_name` ADD INDEX index_name ( `column` ) 
4.添加FULLTEXT(全文索引) 
mysql>ALTER TABLE `table_name` ADD FULLTEXT ( `column`) 
5.添加多列索引 
mysql>ALTER TABLE `table_name` ADD INDEX index_name ( `column1`, `column2`, `column3` )

 

.索引类型

UNIQUE(唯一索引):不可以出现相同的值,可以有NULL值;

INDEX(普通索引):允许出现相同的索引内容;

PROMARY KEY(主键索引):不允许出现相同的值;

fulltext index(全文索引):可以针对值中的某个单词,但效率确实不敢恭维;

组合索引:实质上是将多个字段建到一个索引里,列值的组合必须唯一;

 

.删除索引

删除索引可以使用ALTER TABLEDROP INDEX语句来实现;

drop index index_name on table_name ;

 

alter table table_name drop index index_name ;

 

alter table table_name drop primary key ;

查看慢查询

show VARIABLES like "long_query_time";

show variables like "log_slow_queries";

设置慢查询

set global  log_slow_queries = ON

set global  long_query_time = 5

清理mysql自带的查询缓存

SHOW variables like "%query_cache%"

RESET QUERY CACHE;

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值