广告
返回顶部
首页 > 资讯 > 数据库 >数据库知识笔记
  • 351
分享到

数据库知识笔记

2024-04-02 19:04:59 351人浏览 独家记忆
摘要

1、强制使用decimal存储小数,不使用float、double,防止精度损失,如果存储的数据范围超过 decimal 的范围,建议将数据拆成整数和小数分开存储。这也是阿里的强制开发规范。2、高效分页li

1、强制使用decimal存储小数,不使用float、double,防止精度损失,如果存储的数据范围超过 decimal 的范围,建议将数据拆成整数和小数分开存储。这也是阿里的强制开发规范。

2、高效分页

limit m,n其实质就是先执行limit m+n,然后从第m行取n行,这样当limit翻页越往后翻m越大,性能越低。比如

select * from A limit 100000,10,这种sql语句的性能是很差的,建议改成下面的版本:

selec id,name,age from A where id >=(select id from A limit 100000,1) limit 10

3、InnoDB的行加上死锁检测机制会导致数据库CPU短时间内被占满,导致整库几乎无法响应。 

4、对数据分组的总结:

1 分组函数只能出现在选择列表、having、order by子句中(不能出现在where中) 。

2 如果在select语句中同时包含有where,group by, having, order by 那么它们的顺序是where,group by, having, order by 。

3 在选择列中如果有列、表达式和分组函数,那么这些列和表达式必须有一个出现在group by 子句中,否则就会出错。

如SELECT deptno, AVG(sal), MAX(sal) FROM emp GROUP by deptno HAVING AVG(sal) < 2000;

这里deptno就一定要出现在group by 中。

5、sql排序默认是升序(从小到大),直接order by,降序是desc。

6、子查询比关联查询效率高。

Mysql

mysql的innodb的底层存储模型是B+树,它使用主键作为聚簇索引,使用插入的数据作为叶子节点,通过主键可以很快找到叶子节点,从而快速获取记录。主键最好要自增。因为自增主键可以让插入的数据按主键顺序插入到底层的B+树的叶子节点中,由于是按序的,这种插入几乎不需要去移动已有的其它数据,所以插入效率很高。如果主键不是自增的,那么每次主键的值近似随机,这时候就有可能需要移动大量数据来保证B+树的特性,增加了不必要的开销。

对于mysql的join,它用的是Nested Loop Join算法,也就是通过前一个表查询的结果集去后一个表中查询,比如前一个表的结果集是100条数据,后一个表有10W数据,那么就需要在100*10W的数据集合中去过滤得到最终的结果集。因此,尽量用小结果集的表去和大表做join,同时在join的字段上建立索引,如果建不了索引,就需要设置足够大的join buffer size

您可能感兴趣的文档:

--结束END--

本文标题: 数据库知识笔记

本文链接: https://www.lsjlt.com/news/47093.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 数据库知识笔记
    1、强制使用decimal存储小数,不使用float、double,防止精度损失,如果存储的数据范围超过 decimal 的范围,建议将数据拆成整数和小数分开存储。这也是阿里的强制开发规范。2、高效分页li...
    99+
    2022-10-18
  • 初识Oracle数据库基础笔记
    初识Oracle数据库基础知识点笔记 Oracle 数据库 Oracle → 甲骨文 Oracle数据库是一种关系型数据库,由行和列组成 数据:文字、图片、视频 DB(DataBase) 数据库: 用于存...
    99+
    2021-06-30
    初识Oracle数据库基础笔记
  • python基础知识笔记
    参考视频和资料:2022新版黑马程序员python教程,8天python从入门到精通,学python看这套就够了_哔哩哔哩_bilibili 最后有知识的思维导图!  Python入门学习 Day1 解释器:pycharm 一、Pychar...
    99+
    2023-08-31
    pycharm ide python
  • python3学习知识点笔记
    class Class_name(object): # 声明类Class_name,继承自objectclass Class_name: #不显示继承自object,创建类Class_nameclass Fruit: #创建水果类     ...
    99+
    2023-01-31
    知识点 笔记
  • 数据库笔记
    数据库:   DDl:     创建语句     create,alter,drop等   DML:     更新数据 增删改    ...
    99+
    2017-12-31
    数据库笔记
  • Redis学习笔记:基础知识
        一、NoSQL和关系型数据库区别     NoSQL非关系型数据库:Redis、MongoDB、HBase等,基于Key-Value存储,采用命令操作。     关系型数据库:Oracle、MySQL、DB2、SQL Se...
    99+
    2020-08-16
    Redis学习笔记:基础知识
  • PHP数据类型学习笔记:掌握关键知识点!
    PHP是一门广泛应用于Web开发的编程语言,数据类型是PHP中最基础的知识点之一。本文将为大家介绍PHP数据类型的相关知识,包括基本数据类型、复合数据类型、类型转换等。 一、基本数据类型 整型 整型是PHP中最常见的数据类型之一,用于表...
    99+
    2023-07-09
    数据类型 学习笔记 http
  • Vuex的使用及知识点笔记
    目录1 入门2 安装3 核心概念的使用3.1 state3.2 getters3.3 mutations3.4 actions3.5 modules4 辅助函数的使用总结1 入门 v...
    99+
    2022-12-08
    Vuex的使用 Vuex知识点 Vuex使用笔记
  • PHP数据类型学习笔记:一个不落的知识点!
    PHP是一种广泛应用于Web开发的编程语言,具有易用性、灵活性和可扩展性等特点。在PHP中,数据类型是编程基础中最基本的部分,是必须了解的知识点。本文将为大家介绍PHP数据类型的学习笔记,帮助大家掌握这个不落的知识点! 一、PHP的数据类型...
    99+
    2023-07-09
    数据类型 学习笔记 http
  • 数据库基本知识
    一、创建和查看数据库 1.创建数据库 CREATE DATABASE [IF NOT EXISTS]#可选内容 db_name [create_specification]#如下定义:[DEFAUL...
    99+
    2022-10-18
  • 数据库知识补充
    2016.12.27.星期二--修改表alter--增加字段 ADDALTER TABLE 表名 ADD 字段名 各种修饰词 AFTER 字段名;ALTER TABLE library ADD booksn...
    99+
    2022-10-18
  • 数据库基础知识
    1.数据库的概念数据库(Database)是按照数据结构来组织、存储和管理数据的建立在计算机存储设备上的仓库。2.数据库的作用3.数据层次模型4.常见关系型数据库5.SQL结构化查询语言本章没有讲NoSQL...
    99+
    2022-10-18
  • MySQL的知识点整理(学习笔记)
    目录 一、认识数据库 1. 什么是数据库 2. 数据库类型 3. 常见的数据库管理系统 4. MySQL介绍 5. MySQL的安装&管理工具的安装 6. SQL概述 7. 在DOS系统中操作MySQL 8. MySql常用命令 二、操作...
    99+
    2023-09-09
    mysql 数据库 学习 笔记
  • Web安全入门基础知识(笔记)
    目录 0x01 基础名词 一、域名 1.什么是域名 2.域名在那里注册 3.什么是二级域名,多级域名,顶级域名 4.域名发现对于安全测试的意义 二、DNS 1.什么是DNS 2.本地host和DNS的关系 3.CDN是什么,和D...
    99+
    2023-09-16
    web安全 服务器 网络
  • 数据库知识扫盲,数据库索引
    存储引擎 早期存储引擎都是把数据库相关数据固化到磁盘的,在并发上每张表都是表锁, 后期的存储引擎(例如innodb,in-memory等)大多都是元数据在磁盘上,索引数据在内存中,在并发上每张表都是行锁 2、磁盘型数据库索引 数据库如一本...
    99+
    2016-02-02
    数据库知识扫盲,数据库索引
  • Python和Pycharm的基本知识大全-笔记
    目录 ​编辑 1:Python概述 2:PyCharm简介 3:安装和配置PyCharm 4:Python基本语法 5:PyCharm常用功能详解 6:Python调试技巧 7:Python代码风格和规范 8:Python第三方库介绍 ...
    99+
    2023-09-22
    python pycharm 经验分享
  • mysql学习笔记一 基础知识及DDL
    规范 一条语句要以分号(;)结束 sql可以单行和多行书写,一般通过缩进和换行书写提高代码可读性 sql的关键词一般都要全大写 分类 DDL(Data Defination Language)  数据定义语言  用于操作数...
    99+
    2019-12-24
    mysql学习笔记一 基础知识及DDL
  • 数据库操作函数笔记
    2020-02-05 mysqli扩展   phpl连接Mysql     mysqli_connect($servername,$username,$password,$database,$port);     //参数...
    99+
    2018-10-26
    数据库操作函数笔记
  • 【MySQL】数据库基础知识
    文章目录 一. 什么是数据库二. 为什么要有数据库三. 数据库分类四. 数据库的基本使用1. MySQL安装2. 检查MySQL后端服务器是否启动3. 连接MySQL服务器4. 服务器,数据库...
    99+
    2023-09-03
    数据库 mysql
  • 数据库基础知识(三)
    五、Navicat Premium 12的安装和破解 Navicat Premium 12是一套数据库开发管理工具,支持连接 MySQL、Oracle等多种数据库,可以快速轻松地创建、管理和维护数据库。 相关教程网址:https:...
    99+
    2016-10-10
    数据库基础知识(三)
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作