当前位置:网站首页>Database notes 04
Database notes 04
2022-07-07 06:09:00 【ZMC Xi】
Database notes 04
Indexes
- Indexes are added by fields in database tables , It is a mechanism to improve query efficiency , An index can be added to a field of a table , Of course, you can also add indexes to multiple fields ,index It is equivalent to the catalogue of a book , It is a mechanism that exists to narrow the scope of scanning
- MySQL There are two ways to query : Full table scan , Search by index
- stay MySQL in index It is also necessary to sort , The way of sorting is Balanced binary trees Data structure of : Left small right big
- Index objects will be added to the primary key in any database , When the field exists unique When restrained , The index will also be created
- In the database , A record of any table has a physical storage number on the hard disk ( Equivalent to address )
- stay MySQL in ,index Is a separate object , Different storage engines index Store in different places ; But no matter where it is stored , The data structures used are B-tree( Self balanced binary trees )
The process of indexing
for example : To find a value on a field , Through the first index Search for , Then you can find a physical number , You can directly query the record through this number , Such queries will be faster , So as to avoid global search .
Conditions for adding indexes
- Huge data
- This field often appears in where Back , That is to say, this field is often queried
- This field is rarely used DML sentence , because DML Statement will cause index refactoring
Adding too many indexes is generally not recommended , Because the index also needs to be maintained , And too many will slow down the query , Generally recommended
primary keyoruniqueConstrained fields are added index To query , In this way, its efficiency will be much faster
The creation process
create index index_name on table_name(column_name);
Delete process :
drop index index_name on table_name;
Use alter Create :( General index )
alter table table_name add index index_name ( Field name );
Create primary key index :
alter table table_name add primary key ( Field name );
Create unique index :
alter table table_name add unique index_name ( Field name );
Check whether to use index: Use explain keyword , Followed by Query statement
create Can't create primary key Indexes , While using alter You can create multiple
Index failure
- In the process of query
likeFuzzy query - Created a composite index , But the index on the left is not used
- In the process of querying ,where Later, the indexed fields use arithmetic operations
- In the process of querying ,where Later, the function is used by the indexed field
- Use or when , Only or When there are indexes on both sides , Will query according to the index , Otherwise, the index will not be used
Index is an important means of optimization in various databases
Classification of indexes
| classification | Interpretation of the |
|---|---|
| Single index | Add an index to a single field |
| Composite index | Join multiple fields to add an index |
| unique index | primary key Add on field |
| primary key | unique Add on field |
There is no need to add fields with weak uniqueness index, Not very useful
View (view)
Look at the same data from different angles
Create view :
create view view_name as Follow dql sentence ;Delete view
drop view view_name;Add views , Delete , Change , The data of the original table will also be changed
Using views, you can create view objects associated with multiple tables
Using views can reduce operations , It can reduce the complexity of development , Make a long one SQL Statements can be converted into view objects to operate on them , This can improve development efficiency .
The view is stored on the hard disk ,
Additions and deletions :CRUD
DBA
- export :mysqldump database > route -u XXXX -p XXXX( On the command line )
- Import :source route
Three paradigms for database design
- Every table has a primary key , Every field is indivisible
- Rely on the first paradigm , All non primary key fields are required to rely on primary keys , Can't generate partial dependence
- Rely on the second paradigm , All non primary key fields depend on primary keys , Cannot generate delivery dependency
Second normal form : Generally need Foreign key constraints To achieve Many to many ; Many to many formula :” Many to many , Three tables , Relationship table two foreign keys “
Third normal form : You also need to use foreign key constraints to solve ;
One to many formula :” One to many , Two tables , More tables with foreign keys “
one-on-one : Maybe because of too much data , You may need to split into multiple tables , When connecting , Need to pass through Foreign key constraints and unique Constraints to achieve one-to-one correspondence .
Finally, the customer's needs are taken as the standard , The three paradigms just stay in theory , Sometimes there may be redundancy ( Space ) Change speed ( Time ), Because when the table is connected too much , Query efficiency will be reduced . Written in this way sql The statement will become simple , Writing difficulty decreases
边栏推荐
- jmeter 函数助手 — — 随机值、随机字符串、 固定值随机提取
- What EDA companies are there in China?
- 云加速,帮助您有效解决攻击问题!
- 3531. 哈夫曼树
- JVM命令之 jstat:查看JVM統計信息
- Input of native applet switches between text and password types
- Understand the deserialization principle of fastjson for generics
- Flask1.1.4 Werkzeug1.0.1 源碼分析:啟動流程
- Interview skills of software testing
- JVM命令之 jstack:打印JVM中线程快照
猜你喜欢

Why does the data center need a set of infrastructure visual management system

JVM命令之 jinfo:实时查看和修改JVM配置参数

Check point: the core element for enterprises to deploy zero trust network (ztna)

10W word segmentation searches per second, the product manager raised another demand!!! (Collection)

Digital IC interview summary (interview experience sharing of large manufacturers)

【FPGA教程案例14】基于vivado核的FIR滤波器设计与实现

从“跑分神器”到数据平台,鲁大师开启演进之路

VScode进行代码补全

Randomly generate session_ id

Industrial Finance 3.0: financial technology of "dredging blood vessels"
随机推荐
New Year Fireworks code plus copy, are you sure you don't want to have a look
SubGHz, LoRaWAN, NB-IoT, 物联网
Randomly generate session_ id
CTFshow--常用姿势
[cloud native] what is the microservice architecture?
693. 行程排序
Question 102: sequence traversal of binary tree
从“跑分神器”到数据平台,鲁大师开启演进之路
Jinfo of JVM command: view and modify JVM configuration parameters in real time
Reptile exercises (III)
Nvisual network visualization
ML之shap:基于adult人口普查收入二分类预测数据集(预测年收入是否超过50k)利用shap决策图结合LightGBM模型实现异常值检测案例之详细攻略
cf:C. Column Swapping【排序 + 模拟】
JVM command - jmap: export memory image file & memory usage
Deep clustering: joint optimization of depth representation learning and clustering
@pathvariable 和 @Requestparam的详细区别
Flask1.1.4 Werkzeug1.0.1 源碼分析:啟動流程
Opensergo is about to release v1alpha1, which will enrich the service governance capabilities of the full link heterogeneous architecture
JVM命令之 jinfo:实时查看和修改JVM配置参数
[FPGA tutorial case 13] design and implementation of CIC filter based on vivado core