Jiajun Yao

Stay hungry, Stay foolish.

Insert One Million Rows Into Database

数据库课的一次作业,要求是尽可能快的插入一百万条数据到数据库。这也是第一次和数据库性能接触,在做作业的过程中也有所感受所以决定写下来。这次作业我选择的是用C和MySQL来完成,并使用MySQL的C API。程序的逻辑很简单就是随机生成一百万条数据然后插入数据库,关键是如何能快速的插入。我进行了多次尝试,每次尝试都在插入数据上有所提升。

Why We Should Use Library

库(Library)在wikipeida的定义如下:

In computer science, a library is a collection of resources used to develop software. These may include pre-written code and subroutines, classes, values or type specifications.

在我们写程序的过程中几乎每时每刻使用着库。我们在编码的过程中享受着库带给我们的便利和好处。现在的编程语言都会提供丰富的库给开发者调用,比如C++的库有STL、Boost, Java的库有Swing。像PHP,Python等更是提供了强大的库来帮助程序员开发网站(当然这些语言不仅能用来开发网站),这些库针对网站开发中遇到的常见问题提供了解决方案。举个例子来说,假设我们要将一个PHP数组用json的格式传到客户端,在没有库的情况下我们可能要遍历整个数组然后按照json的格式构建一个string,这样至少需要四五行代码,可是现在一个json_enode就可以搞定了。并且无论数组是几维的,json_encode都能正确返回json格式的string。

在我看来,使用库函数有如下三个好处:
  1. 代码复用
  2. 保证质量
  3. 提高效率