Catch
标签:MySQL

在deepin上安装mysql

安装mysql 打开terminal,安装mysql-server和mysql-client,也可以只安装mysql-server,mysql-client是mysql的命令行客户端 sudo apt-get install mysql-server mysql-client 安装过程中会弹出对话框,要写root密码,会要重复写一遍 配置服务等 安装chkconfig 如果没有安装chkconfig的话(可以输入chkconfig回车确认下),则需要安装chkconfig命令: sudo apt-get install chkconfig 将mysql加入到系统服务 sudo chkconfig --add mysql 将mysql设置开机启动 sudo chkconfig mysql on 其他配置! 在/etc/mysql/conf.d/mysql.cnf文件中添加 [mysql] default-character-set=utf8mb4 在/etc/mysql/mysql.conf.d/mysqld.cnf中添加 [mysqld] character-set-server=utf8mb4 重启mysql

3月前 92浏览

30种MySQL常用查询语句优化方法

应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。 对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描。如: select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值,然后这样查询: select id from t where num=0 尽量避免在 where 子句中使用 or 来连接条件,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num=10 or num=20 可以这样查询: select id from t where num=10 union all select id from t where num=20 下面的查询也将导致全表扫描:(不能前置百分号) select id from t where name like ‘%c%’ 下面走索引 select id from t where name like ‘c%’ 若要提高效率,可以考虑全文检索。 6. in 和 not in 也要慎用,否则会导致全表扫描,如: select id from t where num in(1,2,3) 对于连续的数值,能用 between 就不要用

3月前 75浏览

MySQL中MyISAM与InnoDB区别及选择

对比 特性 InnoDB MyISAM 事务 支持 不支持 外键 支持 不支持 行锁 支持 不支持 索引方式 聚集索引 非聚集索引 表行数 不保存 保存 全文索引 不支持 支持 详细比较 InnoDB 支持事务,MyISAM 不支持,对于 InnoDB 每一条 SQL 语言都默认封装成事务,自动提交,这样会影响速度,所以最好把多条 SQL 语言放在 begin 和 commit 之间,组成一个事务; InnoDB 支持外键,而 MyISAM 不支持。对一个包含外键的 InnoDB 表转为 MYISAM 会失败; InnoDB 是聚集索引,数据文件是和索引绑在一起的,必须要有主键,通过主键索引效率很高。但是辅助索引需要两次查询,先查询到主键,然后再通过主键查询到数据。因此,主键不应该过大,因为主键太大,其他索引也都会很大。而 MyISAM 是非聚集索引,数据文件是分离的,索引保存的是数据文件的指针。主键索引和辅助索引是独立的。 InnoDB 不保存表的具体行数,执行 select count(*) from table 时需要全表扫描。而 MyISAM 用一个变量保存了整个表的行数,执行上述语句时只需要读出该变量即可,速度很快; Innodb 不支持全文索引,而 MyISAM 支持全文索引,查询效率上 MyISAM 要高; 选择 是否要支持事务,如果要请选择innodb,如果不需要可以考虑MyISAM; 如果表中绝大多数都只是读查询,可以考虑MyISAM,如果既有读写也挺频繁,请使

5月前 80浏览