学而时习之,不亦说乎?
2017-09-01

MySQL索引

索引分类 索引是在mysql的存储引擎层实现,而不是在服务层实现的。所以每种存储引擎的索引都不一定相同。mysql目前有四种索引: 1、B-Tree索引:最常见的索引,大部分引擎都支持B树索引 2、HASH索引:只有Memory引擎支持。 3、R-Tree索引(空间索引):空间索引是MyISAM的一个特殊索引类型,主要用于地理空间数据类型,使用较少。 4、Full-text(全文索引):全文索引是MyISAM的一个特殊索引类型,主要用于全文索引,InnoDB从mysql5.6开始支持全文索引。 索引使用场景 (1)匹配全值,对索引中所有列都指定具体值,即是对索引中的所有列都有等值匹配的条件。1 (2)匹配值的范围查询,对索引的值能够进行范围查找。 (3)匹配最左前缀,仅仅使用索引中的最左边列进行查找。 (4)仅仅对索引进行查询,当查询的列都在索引字段中时,查询效率更高。 (5)匹配列前缀,仅仅使用索引中的第一列,并且只包含索引第一列的开头一部分进行查找。 (6)能够实现索引匹配部分精确而其他部分进行范围匹配。 (7)如果列名是索引,那么使用column_name is null 就….

2018-12-29

MySQL学习--MySQL优化思路与三范式

MySQL优化的思路 1、表的设计要合理,符合三范式 2、添加适当索引(index):普通索引、主键索引、唯一索引unique、全文索引(有时候加上:空间索引) 3、分表技术(水平分割、垂直分割) 4、读写(写:updata/dalete/add)分离 5、存储过程(不建议)[模块化编程,不用编译,提高速度] 6、对mysql文件修改配置文件(my.ini: max_connections = 100,可以调整到1000左右) 7、mysql服务器硬件升级 8、定时清除不需要的数据,定时进行碎片整理(MyISAM)

2018-12-30

MySQL学习--慢查询

通过show status 了解SQL执行频率 mysql> show status like ‘Com_%’; +—————————-+——-+ | Variable_name | Value | +—————————-+——-+ | Com_admin_commands | 0 | | Com_alter_db | 0 | | Com_alter_db_upgrade | 0 | | Com_alter_event | 0 | | Com_alter_function | 0 | | Com_alter_procedure | 0 | | Com_alter_server | 0 | | Com_alter_table | 0 | | Com_alter_tablespace | 0 | | Com_analyze | 0 | | Com_assign_to_keycache | 0 | | Com_begin | 0 | | Com_binlog | 0 | | Com_call_pr…

2019-02-12

深入理解Java虚拟机--垃圾收集器与GC参数

程序计数器、虚拟机栈和本地方法栈的生存周期就是线程的生存周期,因此不需要考虑垃圾回收。Java中,GC的对象是堆空间和永久区。在Java和C#等主流商用程序语言中,都是使用可达性分析算法来判断对象是否存活。

2019-02-23

Java基础之线程池

线程池可以重用存在的线程,减少对象创建、消亡的开销,性能好。并且可以控制最大并发线程数,提高系统资源利用率,同时避免过多资源竞争,避免阻塞。