Someone asked recently ( Yes , Not for advice ) How do I learn database ? What to learn ? Let me talk about some personal thoughts .
In fact, my database knowledge is not very solid , open-armed .

When I learned this thing, some god told me “ learn sql server” I'm not afraid to go around the world . in fact , In recent years, if only sqlserver It's scary everywhere .

reason ?

1, What if government software , It's not as high as the Internet , But the amount of data storage is really huge , Let's think about financial data , Provident fund data , Data of Civil Affairs Bureau, etc , And a lot of data can't be cached , Must be calculated in real time , When sql2008 Not yet , It's not as good as big data computing oracle( Contemporaneous Edition )

2, For some reason ( you'll see ), The government rarely agrees to use it windows Server platform , Metropolitan use unix or linux platform , That's the decision sqlserver perhaps .net Apps are hard to sell ( Of course not at all , The software of some local departments is still OK , Don't even think about confidential data )

3, For enterprise projects , Many small and medium-sized enterprises in order to save costs and want to have the integrity not to use piracy , that mysql It's their best choice .

4, For your own website , If you don't want to spend a lot of money to buy independent servers in the early stage , use mysql It's the right way , It's cheap and easy to use , The most important thing is that there is not so much data and popularity in the early stage, so we need to go to the advanced database .

In fact, I personally think that , At least 1-2 A database is necessary , for example mysql and oracle, as for sqlserver It's not that it's simple , It's most of Microsoft's stuff
( Not all ) It has done a better job in user experience and ease of learning ( Easy to learn is both advantages and disadvantages , The disadvantage is that when something goes wrong, it's hard to find the root cause )

Here are a few suggestions on how to play with the database .

Learning in a different way

One ,
Step by step learning is not recommended , Because you learn this way , Others learn the same way , And everyone's ability to understand , Technical basis , memory , The surrounding environment and the degree of hunger are different , These factors directly affect your learning speed .

If everyone is on the same starting line , It is not advisable to use the same learning method

Two , Force yourself

Simulation project learning is the best way for me .

First, you need to understand the basic grammar , for example select insert update wait ( There are still some , I don't list them here )

For example, we create a new news table called news , It contains id,title,content(text type ),addtime,clickcount 5 Fields .

And then by hand insert into This watch 50 10000 pieces of high simulation data , Note that 50 The data of news content field must be large ( as "111,aaa, Big big "
It's better to wash and sleep with such test data ).

Then make a page , Show the details of a news item , Display in the right sidebar (1, Related news 2, Popularity ranking 3, News in two days Etc 10 strip )

(1) And then you'll find out , It's not easy to get data select * from surface where
id=X, You will need to learn how to create a field index , How to add redundant fields to the table , You'll also find that when the news sheet is very large , Every time the user clicks the news, if update This watch clickcount The page is slow , Your laptop fan is very hot .

(2) If you need to be more complex , You will find it better to use the view , Or it is more efficient to update some data with stored procedures , Then you'll find that you have to use transactions to add news . So you are forced to learn this knowledge .

(3) Go further , You'll find your own news pages ugly and ugly , So I forced you to learn css and html and jquery

(4)
Then you extend the data in the table to 2000 Over 10000 , You'll find that some of the features are not really a single list . It seems that you have to know the partition and even the table of the database. What's more, you will find that distributed deployment is also necessary .
You'll also learn to use databases sql Which one does the query analyzer analyze sql Statements account for a lot of performance . Even different sql Some statements consume more memory , And there are sql Words let you cpu Up to 100%.

therefore , I personally think you learned 1 And then do the test project , Common needs 2 About months to master a database knowledge , If you use synchronous self abuse while learning, it is likely to save time 20%-30% above , And let you master more solid .

That's why some computer science graduates are not as good as those who change professions .

summary :

of course , technology ( This mainly refers to development related ) Achieve a high level
In fact, it is the collision of mathematical knowledge and natural and social knowledge , It doesn't matter much to do with programming languages . But database knowledge must be mastered , No matter what kind of application you do , As long as you need to store data, you have to understand the database .


If you want to learn more about databases as a hobby , So you can start with data structures , Learn more about how databases work , of course mysql It's all open source , Learning thought is very good , Of course, I've never seen it ( Because they can't understand and have no economic strength to study ).


If you want to develop a relational database before you become a God , That may not be realistic . The premise of playing this kind of thing in our country is to have money , Then we can talk about technology , On team , On products , Or you'll be stuck in the mud .

There is another word , Well, most of the programmers who make money are forced out of the context of specific current events , There is no genius in this area .

The above is my opinion , opinions differ . It's not right on any occasion .

Technology
©2019-2020 Toolsou All rights reserved,
html Writing about cherry trees , Writing about cherry trees It's unexpected Python Cherry tree (turtle The gorgeous style of Library ) Browser kernel ( understand )HashMap Explain in detail java Four functional interfaces ( a key , simple )os Simple use of module Some East 14 Pay change 16 salary , Sincerity or routine ?