awk概述

  • awk处理文本和数据的方式是这样,他逐行扫描文件,从第1行到最后一行,寻找匹配的特定模式的行,并在这些行上进行你想要的操作 (这里与sed一样),如果没有指定处理动作,则把匹配的行显示到标准输出(屏幕)上;如果没有指定模式,则所有被操作所指定的行都被处理;gawk是awk的GUN版本。
    Read more »

1、for循环

  • 语法结构如下:

    1
    2
    3
    4
    5
    # shell风格
    for 变量名 [ in 取值列表 ]
    do
    循环体
    done
    1
    2
    3
    4
    5
    # C语言风格
    for ((初值;条件;步长))
    do
    循环体
    done
    Read more »

1、数组

  • 数组分为三类,分别是变量,普通变量和关联数组。

    • ①变量。

      1
      2
      3
      4
      5
      6
      name=alice
      ---------------------
      |a |l |i |c |e |
      ---------------------
      |0 |1 |2 |3 |4 | #索引
      ---------------------
Read more »

1、条件测试

  • 条件测试有三种格式:

    • 格式1:test条件表达式。
    • 格式2(推荐使用):[ 条件表达式 ],单个当括号不支持正则。test -d /home[ -d /home ]是一样的,**注意命令和选项之间要加空格,[是个命令,相当于test**。
    • 格式3:[[ 条件表达式 ]]
Read more »

1、概述

  • shell变量名的命名须遵循如下规则:

    • 命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。
    • 中间不能有空格,可以使用下划线(_)。
    • 不能使用标点符号。
    • 不能使用bash里的关键字(可用help命令查看保留关键字)。
  • 有效的shell变量名示例如下:

    Read more »

1、概述

  • shell重定向就像我们平时写的程序一样,一段程序会处理外部的输入,然后将运算结果输出到指定的位置。在交互式的程序中,输入来自用户的键盘和鼠标,结果输出到用户的屏幕,甚至播放设备中。而对于某些后台运行的程序,输入可能来自于外部的一些文件,运算的结果通常又写到其他的文件中。而且程序在运行的过程中,会有一些关键性的信息,比如异常堆栈,外部接口调用情况等,这些都会统统写到日志文件里。
    Read more »

1、Git概述

  • Git是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种项目。
  • Git易于学习,占地面积小,性能极快。 它具有廉价的本地库,方便的暂存区域和多个工作流分支等特性。其性能优于Subversion、CVS、Perforce和ClearCase等版本控制工具。

版本控制

  • 版本控制是一种记录文件内容变化,以便将来查阅特定版本修订情况的系统。

  • 版本控制其实最重要的是可以记录文件修改历史记录,从而让用户能够查看历史版本,方便版本切换。

    Read more »

1、索引单表优化

  • 执行以下SQL脚本,生成测试表。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    CREATE TABLE IF NOT EXISTS `article` (
    `id` INT(10) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
    `author_id` INT(10) UNSIGNED NOT NULL,
    `category_id` INT(10) UNSIGNED NOT NULL,
    `views` INT(10) UNSIGNED NOT NULL,
    `comments` INT(10) UNSIGNED NOT NULL,
    `title` VARBINARY(255) NOT NULL,
    `content` TEXT NOT NULL
    );

    INSERT INTO `article`(`author_id`, `category_id`, `views`, `comments`, `title`, `content`) VALUES
    (1, 1, 1, 1, '1', '1'),
    (2, 2, 2, 2, '2', '2'),
    (1, 1, 3, 3, '3', '3');
    Read more »

1、概述

  • 执行计划,就是一条SQL语句,在数据库中实际执行的时候,一步步的分别都做了什么。也就是我们用EXPLAIN分析一条SQL语句时展示出来的那些信息。

  • 使用EXPLAIN关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理SQL语句的,进而分析查询语句或是表结构的性能瓶颈。

    Read more »