数据库--基础知识

1.统计文本中英文单词数并优化(多线程、hadoop)

(1)读取文本-->对读取的字符串进行加工,去标点、去网址、去数字、分词;

(2)英文分词函数分词之后,与词汇库(eg:常用1900词汇)中词汇对比,若存在对应向量加1;这里考虑词性、时态


2.索引相关

      索引缺点:建立索引,会增加存储开销,插入、删除、更新操作会增加处理开销

      索引优点:海量数据情况下,合理建立索引,大大加强SQL执行查询,对结果进行排序、分组的操作效率

在加快查询速度和降低修改速度之间做平衡 !!

(1)索引是不可修改的,想修改必须删除重建

    创建索引:可以在create table语句中进行,也可以单独用create index或者alter table 来给表增加索引;

语法:创建普通索引、unique 索引 、primary key索引,其中column_list指出对哪些列进行索引(多列时各列之间逗号间隔)

          alter table table_name add index index_name (column_list)

          alter table table_name add unique (column_list)

          alter table table_name add primary key (column_list)


        create index index_name on table_name (column_list)

        create unique index index_name on table_name (column_list)

        注:不能用create index 创建 primary key 索引

(2)删除索引:可以使用drop index 或者alter table 语句实现;

语法:drop index index_name on table_name

          alter table table_name drop index index_name

          alter table table_name drop primary key    //primary key 只有一个,所以不用指定索引名,如果没有创建PRIMARY KEY索引,但表具有一                                                                                    //个或多个UNIQUE索引,则MySQL将删除第一个UNIQUE索引。

如果从表中删除某列,则索引会受影响。对于多列组合的索引,如果删除其中的某列,则该列也会从索引中删除。如果删除组成索引的所有列,则整个索引将被删除。

(3)索引分类

聚簇索引:数据存放的物理位置是顺序的;提高多行检索的速度

非聚簇索引:数据存放的物理位置不连续;单行索引很快

普通索引:

唯一索引:索引列的值必须唯一(不可重复),但允许有空值(和主键不同);若是组合索引,则列值的组合必须唯一

主键索引:表只有一个主键,值必须唯一(不可重复),不允许有空值

(4)适合建立索引的字段

     表的主键,外键

     经常与其它表进行连接的表,在连接字段上应该建立索引;

     经常出现在where子句中的字段,特别是大表的字段

    索引应该建立在选择性多的字段上;

    索引应该建立在小字段上,对于大的文本字段甚至超长字段,不要建立索引;

(5)不适合建立索引的字段

  频繁进行数据操作的表(增删改),不要建立太多索引;

  很少或者从不引用的字段;

  逻辑型的字段,如男或女、是或否等;


3.常见数据库语句

(1)创建数据库

         create database database_name

         删除数据库

         drop database database_name

(2)创建新表

        create table table_name (col1 type1 [not null] [primary key], col2 type2 [not null])

        删除新表  drop table tabe_name

        增加一列  alter table table_name add column col type

        添加主键  alter table table_name add primary key (col)

        删除主键  alter table table_name drop primary key(col)

(3)创建视图

         create view view_name as select statement

         删除视图  drop view view_name

(4)常用sql语句

         查询   select * from table1 where field like '%value1%'

         插入  insert into table1(field1,field2) value (value1,value2)

         删除  delete from table1 where 范围

        更新  update table1 set field1=value1 where 范围


        排序  select * from table1 order by field1 ,field2 [desc]

        总数  select count(*) as totalcount from table1

        求和  select sum(field1) as sumvalue from table1

        平均  select avg(field1) as avgvalue from table1

        最大  select max(field1) as maxvalue from table1

        最小  select min(field1) as minvalue from table1

4.左连接:结果集既包括连接表的匹配行,也包括左连接表的所有行

   右连接:结果集既包括连接表的匹配行,也包括右连接表的所有行

   全连接:结果集既包括连接表的匹配行,也包括两个连接表的所有记录


5. SQL授权 语句:grant select on tab_name  to user1 with grant option

    解除授权 语句: revoke select on tab_name from user1



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值