摘要:
1、delete 属于DML语言,每次删除一行,都在事务日志中为所删除的每行记录一项。产生rollback,事务提交之后才生效;如果有相应的 trigger,执行的时候将被触发,如果删除大数据量的表速度会很慢。 删除表中数据而不删除表的结构(定义),同时也不释放空间。 2、truncate 默认情况 阅读全文
摘要:
有时在处理偏移量非常大的分页时候查询时,例如LIMIT 1000,10这样的查询,这时MySQL需要查询1010条记录然后只返回最后10条,前面1000条记录都被抛弃,这样的代价非常高。要优化这种查询,要么在页面中限制分页的数量,要么是优化大偏移量的性能。 优化此类分页查询的一个最简单的办法就是尽可 阅读全文
摘要:
1、having当用到聚合函数sum,count后,又需要筛选条件时,就可以考虑使用having,因为where是在聚合前筛选记录的,无法和统计函数一起使用,而having在聚合后筛选记录,可以和统计函数一起使用。having是和group by组合着用的。 2、usingusing()用于两张表的 阅读全文
摘要:
1、在mysql建立联合索引时会遵循最左前缀匹配的原则,即最左优先,在检索数据时从联合索引的最左边开始匹配,示例:对列col1、列col2和列col3建一个联合索引 联合索引 index_col1_col2_col3 实际建立了(col1)、(col1,col2)、(col,col2,col3)三个 阅读全文
摘要:
1. association-关联,用于一对一(如人与身份证)和多对一(如班级和学生) 2. collection-集合,用于一对多(如学生和班级)的关系 阅读全文
摘要:
1. $ 将传入的数据直接显示生成在sql中,不会修改或转义字符串。如:order by $id$,如果传入的值是111,那么解析成sql时的值为order by 111, 如果传入的值是id,则解析成的sql为order by id.所以$方式一定程度上无法防止Sql注入。 $方式一般可用于传入数 阅读全文