• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > mysql的一些高级用法

mysql的一些高级用法

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-05

匿名通过本文主要向大家介绍了mysql,用法,一些等相关知识,希望本文的分享对您有所帮助
当我们掌握了Mysql的基本操作,比如建表语句,简单的sql语句等,我们还可以对mysql本身做一些配置操作,甚至是对Mysql进行优化。

1、mysql的配置文件。

在windows中是my.ini文件:

1)、log-bin:表示主从复制的日志文件,用于主从复制。

2)、log-error="SO3JFYNN8EW6GMO.err":表示错误日志。

3)、server-id=1:表示本机的序号为1。

4)、datadir=D:/mysql5.7/Data:存放数据库信息的目录,

2、mysql的架构从上到下分成四层:
1)、连接层:连接处理,授权认证,相关的安全方案。

2)、服务层:完成sql的优化,分析,缓存等功能。

3)、引擎层:负责存储和提取数据。

4)、存储层:数据存储层,主要将数据存储在文件系统之中,并完成与引擎的交互。

3、mysql引擎

1)查看使用的引擎:

show engins或者show

MYISAM和INNODB的比较

不支持主外键值对;支持

不支持事务;支持

表锁,不适合高并发;行锁,适合高并发

只缓存索引;缓存索引和数据,对内存要求更高

表空间小;表空间大

关注点在性能,更多情况下适合查询多的情况;关注点事务。

4、mysql性能优化下降原因

1)、查询语句写的烂

2)、索引失效

单值索引


create index idx_user_name on user(name)

复合索引

create index idx_user_name_email on user(name,email)

3)、查询有太多的join

4)、服务器调优及各个参数

5、mysql的执行顺序

机器从from开始读。

1)、内连接

select *from tableA A inner join tableB B on A.key=B.key。

2)、左外连接

select *from tableA A left join tableB B on A.key= B.key

当b没有的,用null补全。

3)、右外连接

select *from tableA A right join tableB B on A.key=B.key

当a没有时,用null补全

4)、左外连接,去除右表部分

select *from tableA A left join tableB B on A.key=B.key where B.key is null

a的独有,这此时b的用null补齐,所以此时b是为空的。

5)、右外连接,去除左表部分

select *from tableA A right join tableB B on A.key = B.key where A.key is null

6)、全连接(可以采用两者相加)union 可以组合并去重

select *from tableA A left join tableB B on A.key=B.key union

(select *from tableA A right join tableB B )

7)、中心空出来


select *from tableA A left join tableB B on A.key=B.key where B.key is null union

(select *from tableA A right join tableB B on A.key=B.key where A.key is null)

6、什么是索引

1)、索引是一种数据结构,在于提高查找效率。

排好顺序的快速查找数据结构。

数据库维护着满足特定算法的数据结构,这种数据结构以

某种方式指向数据,这样可以在这些数据结构上实现高级的超找

算法,这种数据结构称为索引。

BTREE索引(没有特殊指定的情况下)

频繁删改的字段,不适合建索引。

2)、优势

提高数据检索的效率,降低数据库的io成本

通过索引列对数据进行 排序,降低数据排序的成本,降低了cpu的消耗

3)、劣势

索引也是一张表,占磁盘空间。

更新表时要维护索引,会降更新效率。

索引只是一个提高效率的因素,建立索引需要花时间和精力。

4)、单值索引,只包含一个列,一张表可以有多个单值索引。

5)、唯一索引,索引列的值必须唯一,允许为空。

6)、复合索引,包含多个列。

7)、索引的相关操作

create index idx_user_name on user(name)

alter user add index idx_user_name on (name)

show index from user

drop index idx_user_name on user

8)、索引结构

Hash索引

full-text全文索引

R-Tree 索引

BTree索引 :

7、哪些情况要创建索引:

1)、主建自动建立唯一索引

2)、频繁作为查询条件的字段应该创建索引

3)、查询中与其他表关联的字段,外建关系建立索引。

4)、频繁更新的字段,不适合创建索引

5)、where条件里用不到的字段补创建索引。

6)、单建或者组合索引的选择问题,在高并发下倾向于创建复合索引

7)、查询中排序的字段,排序的字段如果按照索引去访问,将提高效率

8)、查询中统计或者分组字段

8、哪些情况不需要创建索引:

1)、表记录太少

2)、经常增删的表

3)、数据重复且分布平均的字段。

9、性能分析:

mysql query optimizer

以上是我总结的一些Mysql进阶的知识,希望对大家有所帮助。

相关文章:

mysql基本语法

掌握PHP MySQL Where 子句

以上就是mysql的一些高级用法的详细内容,更多请关注微课江湖其它相关文章!

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 分享下mysql各个主要版本之间的差异
  • MySQL essential版本和普通版本有什么区别?
  • redhat 5.4下安装MYSQL全过程
  • 如何用SQL命令查看Mysql数据库大小
  • 解析mysql中如何获得数据库的大小
  • 解析mysql修改为utf8后仍然有乱码的问题
  • 5个常用的MySQL数据库管理工具详细介绍
  • 解析在MySQL里创建外键时ERROR 1005的解决办法
  • 解析远程连接管理其他机器上的MYSQL数据库
  • mysql 精简过程(删除一些文件)

相关文章

  • 2018-12-05MySQL分布式集群之MyCAT(三)rule的详细分析(图文)
  • 2018-12-05hibernate的配置文件工作原理和两种设计:一对多、多对多
  • 2018-12-05学习SQL语句(强大的group by与select from模式)
  • 2018-12-05Oracle返回星期几的函数
  • 2017-05-11MYSQL SET类型字段的SQL操作知识介绍
  • 2018-12-05重置MySQL数据库root密码(linux/windows)
  • 2018-12-05JDBC是如何实现动态查询的?
  • 2018-12-05php实现数组纵向转横向并过滤重复值的方法分析
  • 2018-12-05排名前十的SQL和NoSQL数据库
  • 2018-12-05将mater库中的系统存储过程批量生成*.sql文件 通用且非常实用

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • MySql查询时间段的方法
    • MHA实现mysql主从数据库手动切换的方法
    • Linux ORCLE数据库增量备份脚本
    • mysql命令提示行连接乱码的解决
    • SQL语句的执行原理分析
    • SQL2000 全文索引完全图解
    • OraclePL/SQL单行函数和组函数详解
    • 有关值处理的文章推荐10篇
    • mysql的binlog怎么才能记录除了某表外的操作?
    • MySQL优化—运算符具体详解(图)

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有