如何建立数据库索引

1. 简介

建立索引的目标是为了使数据库应用程序可以更快地查找数据。

索引分单列索引和组合索引。单列索引,即一个索引只包含单个列,一个表可以有多个单列索引,但这不是组合索引。组合索引,即一个索引包含多个列。

创建索引时,你需要确保该索引是应用在 SQL 查询语句的条件(一般作为 WHERE 子句的条件)。

实际上,索引也是一张表,该表保存了主键与索引字段,并指向实体表的记录。

虽然索引能够大大提升查询速录,但过多的使用索引将会造成滥用。因为索引也会有它的缺点:索引会降低更新表的速度,如对表进行INSERTUPDATEDELETE。因为更新表时,MySQL不仅要保存数据,还要保存一下索引文件。

查看更多

分享到 评论

跳出forEach

使用for...in遍历对象时,会遍历原型链上的可枚举属性,这可能会导致一些意想不到的问题。所以你一定收到过这样的建议,使用数组的forEach来代替for...in循环。

查看更多

分享到 评论

Node路径解析浅析

1. 疑惑

这两天看了下之前项目里的webpack配置,想将之前的alias命名统一起来,遂在alias命名前统一使用_开头,这样在项目中看到这样的引用一眼就能知道是通过别名查找的。如下图所示,css目录在fesrc目录下,webpack配置所在目录与fesrc平级,在配置中如果使用相对路径,应该使用_css: path.resolve('../fesrc/css'),但是试一下就会发现这么做webpack无法找到指定目录。相反如下图用法,使用_css: path.resolve('./fesrc/css')则能够找到。因此,我猜想可能是相对于运行该文件的目录,就了解并总结了一下相关的内容。

webpack alias 配置

查看更多

分享到 评论

Data URL简介与使用

相信大家在前端开发的过程中,都应该处理过图片,其中有一项就是我们会在loader中将小的图片转为base64。那么这个base64是什么呢?我们为什么要将其转为base64呢?

其实这是格式的图片,我们可以称为Data URL,下面让我们一起来简单了解下。

1. 简介

Data URL,是以data:模式为前缀的URL,允许内容的创建者将较小的文件嵌入到文档中。与常规的URL使用场合类似,下面会具体介绍可以将Data URL用在哪些地方。

Data URLdata:前缀、MIME类型(表明数据类型)、base64标志位(如果是文本,则可选)以及数据本身四部分组成

语法格式如下:

1
data:[<mediatype>][;base64],data

mediatype是一个MIME(Multipurpose Internet Mail Extension)类型字符串,如image/jpeg表示一个JPEG图片文件。如果省略,默认值为text/plain;charset=US-ASCII

查看更多

分享到 评论

escape、encodeURI和encodeURIComponent的区别与使用

1. escape

escape是对字符串(string)进行编码(而另外两种是对URL),作用是让它们在所有电脑上可读。编码之后的效果是%XX或者%uXXXX这种形式。其 ASCII字母、数字、@*/+,这几个字符不会被编码,其余的都会。

注意,当需要对URL编码时,请忘记这个方法,这个方法是针对字符串使用的,不适用于URL。

在实际工作中使用较少,可以先了解功能,待有需求时再使用。

2. encodeURI 和 encodeURIComponent

对URL编码是常见的事,所以这两个方法应该是实际中要特别注意的。

它们都是编码URL,唯一区别就是编码的字符范围:

  1. encodeURI方法不会对下列字符编码ASCII字母、数字、~!@#$&*()=:/,;?+'
  2. encodeURIComponent方法不会对下列字符编码ASCII字母、数字、~!*()'

由此可见encodeURIComponentencodeURI编码范围更大。如,encodeURIComponent会把http://编码 http%3A%2F%2FencodeURI却不会。

查看更多

分享到 评论