mysql有哪些比较高级的用法


本文主要给大家简单讲讲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或者showMYISAM和INNODB的比较不支持主外键值对;支持不支持事务;支持表锁,不适合高并发;行锁,适合高并发只缓存索引;缓存索引和数据,对内存要求更高表空间小;表空间大关注点在性能,更多情况下适合查询多的情况;关注点事务。4、mysql性能优化下降原因1)、查询语句写的烂2)、索引失效单值索引create index idx_user_name on user(name)复合索引create index idx_user_name_email on user(name,email)3)、查询有太多的join4)、云服务器调优及各个参数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 nulla的独有,这此时b的用null补齐,所以此时b是为空的。5)、右外连接,去除左表部分select *from tableA A right join tableB B on A.key = B.key where A.key is null6)、全连接(可以采用两者相加)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 userdrop index idx_user_name on user8)、索引开发云主机域名结构Hash索引full-text全文索引R-Tree 索引BTree索引 :7、哪些情况要创建索引:1)、主建自动建立唯一索引2)、频繁作为查询条件的字段应该创建索引3)、查询中与其他表关联的字段,外建关系建立索引。4)、频繁更新的字段,不适合创建索引5)、where条件里用不到的字段补创建索引。6)、单建或者组合索引的选择问题,在高并发下倾向于创建复合索引7)、查询中排序的字段,排序的字段如果按照索引去访问,将提高效率8)、查询中统计或者分组字段8、哪些情况不需要创建索引:1)、表记录太少2)、经常增删的表3)、数据重复且分布平均的字段。9、性能分析:mysql query optimizermysql有哪些比较高级的用法就先给大家讲到这里,对于其它相关问题大家想要了解的可以持续关注我们的行业资讯。我们的板块内容每天都会捕捉一些行业新闻及专业知识分享给大家的。

相关推荐: Mysql数据库管理员密码如何设置问题解析

本文主要给大家介绍Mysql数据库管理员密码如何设置问题解析,希望可以给大家补充和更新些知识,如有其它问题需要了解的可以持续在开发云行业资讯里面关注我的更新文章的。一、数据库管理员密码的设置:1、修改数据库管理员本机登录密码(操作系统管理员有权限修改)mysq…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 06/08 09:13
下一篇 06/08 09:13

相关推荐