“达摩院”这一名称来自 DAMO 的音译,全称为 The Academy for Discovery, Adventure, Momentum and Outlook(探索、冒险、动力和远景研究院),而取“达摩”一词,也有借鉴武侠小说中达摩代表武学最高修为境界之意。
在阅读一些开源代码时,我们常会碰到诸如:TODO、FIXME和XXX的单词,它们是有其特殊含义的。
// TODO + 说明:
如果代码中有该注释,说明在该注释处有功能代码待编写,待实现的功能在说明中会简略说明。
// FIXME + 说明:
如果代码中有该注释,说明该注释处代码需要修正,甚至代码是错误的,不能工作,需要修复,如何修正会在说明中简略说明。
该处的注释在eclipse中的error tap中可以看到。
// XXX + 说明:
如果代码中有该注释,说明注释处代码虽然实现了功能,但是实现的方法有待商榷,希望将来能改进,要改进的地方会在说明中简略说明。
eclipse中特殊的注释:
在eclipse中,TODO、FIXME和XXX都会被eclipse的task视图所收集。在项目发布前,检查一下task视图是一个很好的习惯。
本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引,至于哈希索引和全文索引本文暂不讨论。
文章主要内容分为三个部分。
第一部分:主要从数据结构及算法理论层面讨论MySQL数据库索引的数理基础。
第二部分:结合MySQL数据库中MyISAM和InnoDB数据存储引擎中索引的架构实现讨论聚集索引、非聚集索引及覆盖索引等话题。
第三部分:根据上面的理论基础,讨论MySQL中高性能使用索引的策略。
关于薪资,是每个上班族最为关心的问题。
月薪3k和月薪3W的程序员,到底有什么区别 ?都是做程序开发,从事编程工作,为什么悬殊这么大呢?
月薪3k和月薪3W的程序员到底区别在哪?
IT行业相对在其他行业中比较高薪,但并不是每个人都能拿到高薪,程序员薪水有高有低,有的人一个月可能拿10k,20k
,甚至更多,有的人可能只有3k,5k。
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。
2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:select id from t where num=0
3.应尽量避免在 where 子句中使用!=或<>操作符,否则引擎将放弃使用索引而进行全表扫描。
4.应尽量避免在 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
5.in 和 not in 也要慎用,否则会导致全表扫描,如:select id from t where num in(1,2,3) 对于连续的数值,能用 between 就不要用 in 了:select id from t where num between 1 and 3