zoukankan      html  css  js  c++  java
  • [PHP][mysql] 需要知道的那些事

    就是想总结一下自己不会的!

    sql:

      1、在SQL语句中出现AS,是起别名的意思!

      例子:select a.* from table_1 as a就是给table_1起个别名叫a,因此前面就可以使用a.*了

      2、在SQL语句中SUMCOUNT的区别:

        SUM是对符合条件的记录的数值列求和;

        COUNT 是对查询中符合条件的结果(或记录)的个数

      3、在SQL语句前出现explain:

        explain显示了mysql如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句

        我理解的就是更详细的显示sql语句的处理!

      4、分析sql索引

        1.如果条件中有or,即使其中有条件带索引也不会使用(这也是为什么尽量少用or的原因),必须是条件都有索引才使用

        2.like查询是以%开头,不适用索引

        3.如果列类型是字符串,那一定要在条件中将数据使用引号引用起来,否则不使用索引

        4.如果mysql估计使用全表扫描要比使用索引快,则不使用索引

        5.当取出的数据量超过表中数据的20%(应该说是查询大部分),优化器就不会使用索引,而是全表扫描。

        6.如果查询中包括group by 但用户想要避免排序结果的消耗,则可以使用order by null禁止排序。

        7.还有就是聚合索引的最左原则,如果设置了聚合索引,只有前面的使用索引,后面的才能使用所用!

      5、索引创建与删除

        创建CREATE index 索引名 on 表名(字段名);

             唯一:CREATE UNIQUE INDEX indexName ON tableName(tableColumns(length));

           ALTER TABLE 表名 ADD INDEX (字段);

             PRIMARY KEY(主键索引):ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` );

             UNIQUE(唯一索引):ALTER TABLE `table_name` ADD UNIQUE (`column`);

             INDEX(普通索引):ALTER TABLE `table_name` ADD INDEX index_name ( `column` );

             FULLTEXT(全文索引):ALTER TABLE `table_name` ADD FULLTEXT ( `column` );

             多列索引:ALTER TABLE `table_name` ADD INDEX index_name ( `column1`, `column2`, `column3` );

        删除:DROP INDEX 索引名 ON 表名;

        查询:explain 表名;

           desc 表名;//和explain的查询效果一样

           show index from 数据库.表名 (例:show index from lpcblog.test;);

           #查看相同表前缀的表数量

            sELECT count(table_name)FROM information_schema.tables WHERE table_schema = 'lpcblog' AND table_name LIKE 'blog_%'

            show tables like 'blog_%'

     nginx:    

           nginx配置详情:       events  事件模型: 多线程  多进程  异步处理 (epoll select)
                          http  http服务
                          server 虚拟主机
                                server_name 名称
                              listen 端口
                                root : 网站根目录
                                   alias : 目录的别名,指向真实的根目录
                              index : 默认的主页 index.html index.htm default.html  welcome.jpg
                              location 资源解析        
                            location  匹配规则
                                    精准匹配  优先级最高
                                    正则匹配 

       6、知道字段而不知道在,字段在那个表里:用root用户 查询 information_schema 库 ,select `TABLE_NAME` from `COLUMNS` where `COLUMN_NAME`='字段名';

          说明: information_schema 库其中保存着关于MySQL服务器所维护的所有其他数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权 限等;

  • 相关阅读:
    CF1284G
    5-3 Harbor高可用部署 下
    5业务系统迁移kubernetes-----准备工作(平稳迁移做好准备)
    题解-CF1453F Even Harder
    题解-CF961F k-substrings
    Docker 数据卷容器(实现两个或多个容器间数据同步)
    Docker 具名和匿名挂载
    Java-IO中的节点流和处理流
    《机器学习十讲》学习报告二
    rpc基本思路
  • 原文地址:https://www.cnblogs.com/lipcblog/p/6858567.html
Copyright © 2011-2022 走看看