zoukankan      html  css  js  c++  java
  • 指令(MySQL)

        1.指令

            show databases;      查看数据库

            use student;     使用数据库

            show tables;      查看所有表

            select * from subject;     查看指定表中内容

            explain select * from subject;    分析表

            show status like 'subject';    查看表的索引

            analyze table student;     分析 储存表的关键字

            check table student;   检查错误

            optimize table studnet;   优化数据库

        2.优化SQL语句

            1.选取最合适的字段属性

                MySQL支持了大量数据的存取,一般来说,表越小,查询速度越快,因此我们想要使数据库的性能更加良好,我们要将字段的数据类型宽度设置的要            尽量小,合适即可。

            2.使用连接(inner join)来代替子查询

                使用子查询可以一次性完成很多逻辑上需要很多步骤的SQL操作,在某些情况下我们可以使用(inner join)来代替子查询,使用inner join速度将会提高很         多。

            3.对查询进行优化,首先考虑在where和order by涉及的列上面建立索引

            4.in和not in要慎重应用,否则会导致全表搜索

            5.避免在where中进行对字段的表达式操作,这将导致数据库放弃使用索引而进行全表扫描

            6.不要在where中'='左边进行函数,算数运算或其他表达式运算,否则导致系统无法正确使用索引

            7.索引并不是越多越好,索引虽然可以提高 select 的效率,但同时也降低了 insert 及 update 的效率,因为 insert 或 update 时有可能会重建索引,所以           怎样建索引需要慎重考虑,视具体情况而定。一个表的索引数最好不要超过6个,若太多则应考虑一些不常使用到的列上建的索引是否有必要。

        3.优化数据库

            1.创建索引

                    对于查询占主要的应用来说,索引尤为重要,有时候不加索引会导致致命的性能下降,如果建立索引没有任何优势则会影响更新速度,这被称为过              度索引

            2.索引不会包含有null值的列

                    只要列中包含有NULL值都没有被包含在索引中,复合索引中只要有一列含有NULL值,那么这一列对于此复合索引就是无效的。所以我们在数据库              设计时不要让字段的默认值为NULL。

           3.使用短索引

                     串列进行索引,如果可能应该指定一个前缀长度。

           4.排序的索引问题

                     mysql查询只使用一个索引,因此如果where子句中已经使用了索引的话,那么order by中的列是不会使用索引的。因此数据库默认排序可以符合要               求的情况下不要使用排序操作;尽量不要包含多个列的排序,如果需要最好给这些列创建复合索引。

          5.like语句操作

                     一般情况下不建议使用like操作,如果非使用不可,如何使用也是一个问题。like “%aaa%” 不会使用索引而like “aaa%”可以使用索引。

          6.不使用not in和<>操作

                     NOT IN和<>操作都不会使用索引将进行全表扫描。

  • 相关阅读:
    linux安装pip
    keepalived 安装和配置
    SecureCRT突然卡死的问题
    python url合并与分离
    centos 长久路由表
    linux shell中 if else以及大于、小于、等于逻辑表达式介绍
    mtime,ctime,atime
    linux学习初体验
    Python数据库连接池DBUtils
    Flask 中的蓝图(BluePrint)
  • 原文地址:https://www.cnblogs.com/yangshuwen/p/12832888.html
Copyright © 2011-2022 走看看