MYSQL
文章平均质量分 74
MYSQL学习笔记
攻城狮·建哥
全栈开发工程师以及IT教育从业者。
展开
-
【MYSQL】mysql优化
因为limit的偏移量(offset)很大时,效率非常低,limit offset,num的工作机制是先查询,然后再跳过offset获取num条数据,当offset很大时,说明查询结果的数据很大,通过开启profile分析sql语句,发现大部分时间都用在Sending data(即回行传输的数据)上了,限制N的大小非常有必要,百度或谷歌都是现在查询结果的页数,一般都是看前几页搜索结果,极少人回去翻页到几十页去看搜索结果。如果能直接从索引中获取数据,将会省去回行过程,提高查询速度,因为索引在内存运行的。原创 2023-01-05 17:12:06 · 454 阅读 · 1 评论 -
【MYSQL】mysql用户与权限管理
用户常用权限all,creat,drop,insert,update,delete,select ……原创 2023-01-05 12:22:57 · 213 阅读 · 1 评论 -
【MYSQL】索引
在某个列上可能存在多个索引,比如某个表:key xm(xing, ming),key ming(ming),对于列ming来说,索引xm和ming两个索引覆盖,叫做冗余索引。对于变长数据类型(varchar),除了是否为NULL的标记外,还需要有长度信息,需要占用2个字节,当字段定义为NOT NULL的时候,是否为NULL的标记将不占用字节。索引长度:建索引时,可以取列的部分字符作为索引,节省空间, 例如:unique key email(email(10));- utf8编码的一个字符3个字节。原创 2022-10-28 15:00:45 · 668 阅读 · 0 评论 -
【MYSQL】表的综合查询
limit有两个参数,分别是limit 偏移量,取出条目,可以使用在分页上。主要用途:两张不同的表中有相同的列时,把结果集合并,或者简化两个复杂的where条件, 使用条件:两个表的列必须相同,但是例外的是列名称可以不相同。having是针对where条件结果进行筛选,是对内存数据操作,所以having必须用在where之后。使用group时首先会对该列重新排序,再做统计,所以比较耗资源,尽量避免使用。内层select查询的结果充当外层select的where条件的查询。原创 2022-09-10 22:20:07 · 1133 阅读 · 0 评论 -
【MYSQL】表的增删改查
注意事项:删除必须写where约束条件,也不能写常量,如where 1,否则会删除整张表数据。插入操作时注意事项:列和值必须一一对应,并且符合类型要求。注意事项:一定要有where约束条件,即在哪些行生效。...原创 2022-08-31 08:17:05 · 329 阅读 · 0 评论 -
【MYSQL】库和数据表
实际使用中避免列的默认值为null,创建表时给列一个初始值,在列的类型后面添加NOT NULL DEFAULT值,示例:id INT UNSIGNED NOT NULL DEFAULT 0。MySQL常用两种表引擎是Myisam和InnoDB,引擎不同,组织数据方式也不同,新版本MySQL可以统一使用InnoDB,性能比Myisam差别不是太大。数据表是关系数据库中一个非常重要的对象,是其它对象的基础,也是一系列二维数组的集合,用来存储和操作数据的逻辑结构。...原创 2022-08-28 18:20:09 · 659 阅读 · 0 评论 -
【MYSQL】数据类型
其中M表示显示的值(包括小数位)最大位数,D表示小数位数。例如:sara FLOAT(7,3) 规定显示的值不会超过7位数字,小数点后面带有 3位数字。可选参数:DECIMAL[(M[,D])] [UNSIGNED] [ZEROFILL]注意:TIMESTAMP是系统自动填充的时间戳,效率不高,不建议使用,通常用int unsigned来储存时间戳。可选参数:浮点型[(M,D)] [UNSIGNED] [ZEROFILL]可选参数:整型[(M)] [UNSIGNED] [ZEROFILL]...原创 2022-08-28 18:19:08 · 320 阅读 · 0 评论