目录
1.数据库
(1)索引
索引的数据结构一般是B+树:
除叶节点外的所有节点,都存储最大的值或最小的值作为索引,不存储数据,数据都存到叶节点上,叶节点不仅存有数据,还存有指向下一节点的指针。
mysql索引分类:
一般索引 用于加速搜索
唯一索引 索引值可以为NULL
主键索引 索引值不可以为NULL,mysql中,使用mysql中,若没有指定主键索引列,系统会默认生成一个不可见的主键索引列。
组合索引 联合在一起的索引列,遵循“左原则”,即在查询是,第一个搜索条件必须是组合索引项的第一项
全文索引 可用于加速搜索长文本
/*1.添加普通索引,索引值可出现多次*/
ALTER TABLE ownthink ADD INDEX ind_obj(obj);
ALTER TABLE ownthink DROP INDEX ind_obj;
/*2唯一索引*/
create unique index index_name on table(column);
或者创建表时指定
unique index_name column
/*3主键索引*/
primary key(column)
/*4组合索引*/
alter table t add index index_name(a,b,c);
/*5.全文索引
使用全文索引前,搞清楚版本支持情况;
全文索引比 like + % 快 N 倍,但是可能存在精度问题;
如果需要全文索引的是大量数据,建议先添加数据,再创建索引;
对于中文,可以使用 MySQL 5.7.6 之后的版本,或者第三方插件。
*/
ALTER TABLE ownthink ADD FULLTEXT INDEX fulltag(obj);
SELECT * FROM ownthink WHERE MATCH(obj) AGAINST('马化腾' IN BOOLEAN MODE);
SELECT * FROM ownthink WHERE MATCH(obj) AGAINST('王八蛋*' IN NATURAL LANGUAGE MODE);
ALTER TABLE ownthink DROP INDEX fulltag;
参考
https://www.cnblogs.com/bypp/p/7755307.html
全文检索:https://blog.csdn.net/mrzhouxiaofei/article/details/79940958
(2)事务
原子性
一致性
隔离性(隔离的四个等级)
持久性
更新丢失 问题
不可重复读 问题
脏读问题
幻读问题
MYSQL 事务处理主要有两种方法:
1、用 BEGIN, ROLLBACK, COMMIT来实现
BEGIN 开始一个事务
ROLLBACK 事务回滚
COMMIT 事务确认
2、直接用 SET 来改变 MySQL 的自动提交模式:
SET AUTOCOMMIT=0 禁止自动提交
SET AUTOCOMMIT=1 开启自动提交
(3)数据库引擎(MylSAM,InnoDB)
MylSAM不支持事务,InnoDB支持事务
参考:https://www.jianshu.com/p/4bb9f78b4f6d
2.tcp/ip http
(1)ip协议
(2)tcp/ip协议簇
分层结构为:
应用层(HTTP),传输层(TCP/UDP),网络层(IP协议),数据链层(路由器软硬件)
(3)http协议
参考:
https://blog.csdn.net/qq_41517936/article/details/80886618