mysql数据库基础知识点小结

来源:07素材网 03月14日 20:19

一. char与varchar

1)char为固定空间存储, 实际数据不够会补够,超出长度则截断; varchar为不固定长度存储,使用额外的1-2个字节来存储长度信息。
2)char可能导致空间浪费, 但也可能有效减少空间碎片,上限255; varchar的情况相反,上限65535个字节(指定的长度表示的为字符,要考虑编码)

二. int(x)

x代表了int整型的最大显示长度。 int占4个字节, 无符号最大值4294729693, 即长度为10. 因此int(11)与int(12)本质上应该没有差别。

三. mysql的日志种类

错误日志: -log-err      (记录信息包括: 服务启动或关闭, 运行过程的错误或警告, 事件调度器)
查询日志: -log            
慢查询日志: -log-slow-queries
更新日志: log-update  (一般都不会使用)
二进制日志: -log-bin   (mysqlbinlog查看二进制文件)

四. show profile

用于分析sql执行的性能, 相对于explain, profile还可以查看执行的CPU/Memory使用情况。

五. 关于buffer size

对于myisam, 要设置合适的key_buffer_size大小; 因为myisam需要用到系统的缓存来缓存数据,因此需要为索引留出部分空间.
对于innodb, 要设置合适的innodb_buffer_pool_size大小; 因为innodb会把数据和索引都一起缓存起来, 该值应该相对大一些.

六. delete与optimize

如果一个表经常有insert与delete操作,应该要定期进行optimize操作,可以有效的回收空间和整理碎片.

七. 关于锁

myisam只支持表锁; innodb支持行级锁,它是通过在索引上加锁来实现的,因此只有在用到索引来检索数据时才用到行锁,否则仍使用表锁.

八. 索引

myisam支持的索引类型包括: 普通索引(index), primary key(主键), 唯一性主键(unique key), 全文索引(full text).
innodb有两种索引: B+树索引,  hash索引.innodb为索引组织表.
原文出处:https://www.xuebuyuan.com/3188440.html
版权声明:本文来源地址若非本站均为转载,若侵害到您的权利,请及时联系我们,我们会在第一时间进行处理。

头条

在使用SQLite3时遇到的几个坑

在使用SQLite3时遇到的几个坑

《本打算在SQLite3数据库里执行一个查询语句,使用的是php语言,起初遇到的是权限问题: permission denied,因为SQLite3数据库文件和PHP执行者属于两个不同的用户,首先需要对这个文件执行mode 777的权限开放,然后,又遇到了下面这样的PHP错误