(1.13)mysql优化数据库对象

1、mysql优化数据库对象

【1.1】数据库对象类型优化
select * from test1 procedure analyse();
select * from test1 procedure analyse(16,256); --不要为那些多余16个或者256个字节的ENUM类型提出建议。如果没有这样的限制,输出信息可能会很长;enum定义通常很难阅读
  

  

【1.2】通过水平/垂直拆分提高表的访问效率

【1.3】逆规范化(一般指的是根据业务需求来设定范式)

  (1)增加冗余列:指在多个表表中具有相同的列,它常用来在查询时避免连接操作

  (2)增加计算列/派生列:指增加的列来自其他表中的数据,由其他表中的数据经过计算生成。作用是在查询时减少表连接操作,避免使用集函数。

  (3)重新组表:如果许多用户需要查看两个表连接出来的结果数据,则把这2个表重新组成一个表来减少连接而提高性能。

    

【1.4】使用中间表提高统计查询速度
  对于数据量大的表,在其上进行统计查询通常效率很低,并且还要考虑统计查询是否会对在线的应用产生负面影响。
  这种情况,使用中间表可以提高统计查询的效率。
  即-》把需要统计的数据转移-》中间表-》得出想要的结果   


(1.13)mysql优化数据库对象的更多相关文章

  1. 19.Mysql优化数据库对象

    19.优化数据库对象19.1 优化表的数据类型应用设计时需要考虑字段的类型和长度,并留有一定长度冗余.procedure analyse()函数可以对表中列的数据类型提出优化建议.procedure ...

  2. MySQL 优化数据库对象

    一.考虑是用 procedure analyse() 函数对当前应用的表进行分析.字段类型是否可优化. 二.通过拆分提高表的访问效率. (A) 针对MyISAM表,有两种拆分方法: 垂直拆分:主码和某 ...

  3. MySQL优化篇(一),我可以和面试官多聊几句吗?——SQL优化流程与优化数据库对象

    我可以和面试官多聊几句吗?只是想偷点技能过来.MySQL优化篇(基于MySQL8.0测试验证),上部分:优化SQL语句.数据库对象,MyISAM表锁和InnoDB锁问题. MyISAM表锁和InnoD ...

  4. MySQL优化(三):优化数据库对象

    二.优化数据库对象 1.优化表的数据类型 应用设计的时候需要考虑字段的长度留有一定的冗余,但不推荐很多字段都留有大量的冗余,这样既浪费磁盘空间,也在应用操作时浪费物理内存. 在MySQL中,可以使用函 ...

  5. mysql优化-数据库设计基本原则

    mysql优化-数据库设计基本原则 一.数据库设计三范式 第一范式:字段具有原子性 原子性是指数据库的所有字段都不可被再次划分,如下表就不满足原子性,起点与终点 字段就可被拆分为起点与终点两个字段. ...

  6. (5)MySQL进阶篇SQL优化(优化数据库对象)

    1.概述 在数据库设计过程中,用户可能会经常遇到这种问题:是否应该把所有表都按照第三范式来设计?表里面的字段到底改设置为多大长度合适?这些问题虽然很小,但是如果设计不当则可能会给将来的应用带来很多的性 ...

  7. mysql优化-数据库优化、SQL优化

    我有一张表w1000,里面有1000万条数据,这张表结构如下:CREATE TABLE `w1000` ( `id` varchar(36) NOT NULL, `name` varchar(10) ...

  8. MySQL定义数据库对象之指定definer

    mysql创建view.trigger.function.procedure.event时都会定义一个Definer: SQL SECURITY 有两个选项,一个为DEFINER,一个为INVOKER ...

  9. [数据库系列之MySQL]Mysql优化笔记

    大型网站提速之MySql优化 数据库优化包括的方面 数据库优化是一个综合性的技术,并不是通过某一种方式让数据库效率提高很多,而是通过多方面的提高,从而使得数据库提高很多. 主要包括: 1.表的设计合理 ...

随机推荐

  1. Linux日常使用命令

    pwd  当前目录的路径ls -a 显示隐藏文件ls -l h*  显示所有以h开头的文件ls -d  b*  显示所有以b开头的文件夹ls -l  *.log  所有后缀是.log 的文件dir 显 ...

  2. input 手机号

    关于input手机号的验证 一.手机号的判断方法: function isPhoneTel(n){ var reg = /^1[3|4|5|8]\d{9}$/; if(!!(reg.test(n))) ...

  3. MySql安全模式的关闭和开启

    #MySql关闭安全模式 ; commit; #MySql开启安全模式 ; commit;

  4. 前端和后端的数据交互(jquery ajax+python flask+mysql)

    上web课的时候老师布置的一个实验,要求省市连动,基本要求如下: 1.用select选中一个省份. 2.省份数据传送到服务器,服务器从数据库中搜索对应城市信息. 3.将城市信息返回客户,客户用sele ...

  5. SafetyNet Attestation API

    https://developer.android.google.cn/training/safetynet/attestation#verify-compat-check  SafetyNet At ...

  6. 深度学习(TensorFlow)环境搭建:(一)硬件选购和主机组装

    一.硬件采购 近年来,人工智能AI越来越多被人们所了解,尤其是AlphaGo的人机围棋大战之后,机器学习的热潮也随之高涨.最近,公司采购了几批设备,通过深度学习(TensorFlow)来研究金融行业相 ...

  7. Go语言学习笔记1

    1.Go语言环境搭建及基础知识 Go语言官方网站(http://golang.org) 代码包文档网站(http://godoc.org) Go语言中文网(http://studygolang.com ...

  8. Unity3D UGUI Shader画一个圆环

    Shader "Unlit/NewUnlitShader" { Properties { _MainTex ("Texture", 2D) = "wh ...

  9. shell利用数组分割组合字符串

    #!/bin/bash #接收脚本参数如[sh a.txt .0_3_4_f_u_c_k_8080] a=$ #把参数分割成数组 arr=(${a//_/ }) #显示数组长度 #echo ${#ar ...

  10. 局域网里别人如何访问我本地电脑里的nginx网站

    1.修改nginx.conf配置文件(我这里配了二级域名,所以我在二级域名配置文件修改) 把deny all全部改成autoindex on 2.关闭防火墙 3.重启nginx