mysql常用函数12345678函数 | 功能abs(x) | 返回x的绝对值ceil(x) | x向上取整floor(x) | 向下取整mod(x,y) | 返回x/y的模rand() | 返回0到1的随机值round(x,y) | 返回四舍五入值truncate(x,y) | 返回x截断y位小数的结果
ABS 返回数值的绝对值1234567mysql> select abs(-0.8),abs(0.8);+-----------+----------+| abs(-0.8) | abs(0.8) |+-----------+----------+| 0.8 | 0.8 |+-----------+----------+1 row in set (0.01 sec)
CEIL 返回向上取整值1234567mysql> select ceil(-0.8),ceil(0.8);+------------+-----------+| ceil(-0.8) | ceil(0.8) |+------------+-----------+| ...
mysql
未读字符串函数12345678910111213141516函数 | 功能concat(s1,s2..sn) | 链接字符串insert(str,x,y,instr) | 将字符串str从第x位开始,y个字符长的zi串替换为字符串instrlower(str) | 字符串转小写upper(str) | 字符串转大写left(str,x) | 返回字符串str最左边的x个字符right(str,x) | 返回字符串最右边的x个字符lpad(str,n,pad) | 用字符串pad 对str最左边进行填充,直到长度为n隔天字符长度rpad(str,n,pad) | 用字符串pad对str嘴右边进行填充,直到长度为n个字符长度ltrim(str) | 去掉字符串str左侧的空格rtrim(str) | 去掉字符串str行尾的空格repeat(str,x) | 返回str重复x次的结果replace(str,a,b) | 替换字符串a为bstrcmp(s1,s2) | 比较字符串s1,s2trim(str) | 去掉字符串行位和航头的空格substring(str,x,y) | 返回字符串 ...
mysql
未读设计索引的原则
搜索的索引列,不一定是索要选择的列
最适合索引是出现在where子句中的列,或链接子句中指定的列,而不是出现在select关键字后的选择列表中的列。
使用唯一索引
索引的列的基数越大,索引的效果越好 比如 性别 M 和 F 对此索引没有多大用处,因为不管搜索那个值,都会得出大约一半的行
使用短索引
如果对字符串列进行索引,应该制定一个前缀长度,只要有可能就应该这样做。较小的索引设计的磁盘IO较少,较短的值比较起来更快。
利用最左前缀
在创建一个n列的索引时,实际是创建了MYSQl可利用的n个索引。多列索引可起几个索引的作用,因为可以利用索引中最左边的列集来匹配行。这样的列集成为最左前缀
不要过度索引
每个额外的索引都要占用额外的磁盘空间,并降低写操作的性能。在修改表的内容是,缩影必须进行更新,有时可能需要重构,因此,索引越多,所花费的时间越长。
对于innodb存储引擎的表
记录默认会按照一定的顺序保存,如果有明确定义的主键,则按照主键保存。如果没有主键,但是有唯一索引,那么就按照唯一索引的顺序保存。如果既没有主 ...
mysql
未读#通过explain分析低效率sql
可以通过explain 或 desc 命令获取mysql如何执行select语句的信息。
##解释:
select_type : 标示select 的类型
simple : 简单表,即不适用表连接或子查询primary : 主查询,即外层的查询union : union中的第二个或者后面的查询语句subquery : 子查询中的第一个select等
table : 输出结果集的表
type : 标示表的连接类型,性能由好到差的连接类型为:
system : 表中仅有一行,即常量表 const : 单标中最多有一个匹配行 例如primary key 或者 unique indexeq_ref : 对于前面的每一行,在此表中查询一条记录,简单来说,就是多表连接中使用primary index 或者unique indexref : 与eq_ref类似,区别在于不是使用primary key 或者unique index ,而是使用普通的索引ref_or_null : 与ref类似,区别在于条件中包含对null的查询index_merge ...
mysql
未读mysql字符串类型
char 和varchar 类型char和varchar很相似,都用来保存mysql中较短的字符串。二者的主要区别在于存储方式的不同:
char 列的长度固定 (创建时声明的长度) 长度:0~255
varchar 可变长度字符串 长度可以指定0~255(5.0.3版本以前) 或者65535(5.0.3以后)