当前位置:网站首页>Database notes 04

Database notes 04

2022-07-07 06:09:00 ZMC Xi

Database notes 04

Indexes

  1. 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
  2. MySQL There are two ways to query : Full table scan , Search by index
  3. 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
  4. 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
  5. In the database , A record of any table has a physical storage number on the hard disk ( Equivalent to address )
  6. 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

  1. Huge data
  2. This field often appears in where Back , That is to say, this field is often queried
  3. 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 keyor unique Constrained 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

  1. In the process of query like Fuzzy query
  2. Created a composite index , But the index on the left is not used
  3. In the process of querying ,where Later, the indexed fields use arithmetic operations
  4. In the process of querying ,where Later, the function is used by the indexed field
  5. 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

  1. Every table has a primary key , Every field is indivisible
  2. Rely on the first paradigm , All non primary key fields are required to rely on primary keys , Can't generate partial dependence
  3. 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

原网站

版权声明
本文为[ZMC Xi]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/02/202202130721525930.html