当前位置: 首页 > 科技观察

数据库MySQL查询优化那些东西_0

时间:2023-03-19 12:03:43 科技观察

因人而异通常我们从数据库中获取数据的时候,我们喜欢使用select*来获取所有的数据,这样当用户想要任何数据的时候,都可以获取到,但是这个会导致随着数据获取时间的增加,正确的做法是需要什么字段就写什么,这样可以避免资源浪费。当我们要从两个不同大小的表中获取数据时,我们应该尽量通过小表来判断条件,因为它的行数更少,条件判断查询更快。需要注意的是,in适合条件里面放小桌子,外面放大桌子。而exists适合小桌在前,大桌在后。总之就是先通过小表进行查询过滤。很多人喜欢循环操作数据库,却不知道这是查询的大忌。我们不应该循环操作数据库,因为它会执行很多SQL语句。我们应该通过一个循环把要查询的数据封装起来,然后一次性去数据库批量查询,一次查询。恰到好处的是,很多时候我们查询数据的时候,我们只需要一条数据,但是很多时候我们查询的数据很多。这些不必要的浪费大大增加了数据的开销,所以在查询的时候使用limit关键字是非常有好处的,会大大缩短查询时间。当数据很多的时候,我们往往会使用分页来解决查询数据的问题,但是当总的分页数据过多时,后续查询的分页速度就会大大降低。这时候我们可以通过设置查询条件来减少查询。每个查询的条件过滤将主要事件减少为较小的事件。selectid,name,desfromuserlimit1000000,20;selectid,name,desfromuserwhereid>1000000limit20;选好的跟着设置大,防止以后修改数据。其实这是大错特错。数据库之所以设计成不同类型的字段,就是为了让我们选择最合适的类型。如果字段长度基本固定,最好用char,否则就选varchar。如果字段数据类型可以是数字类型,那么就不要使用字符串类型,因为数字类型效率更高。对于高精度数据,我们应该如何使用小数类型。很多时候,我们习惯通过子查询来查询数据,因为这样查询更容易理解。但是这种查询如果不一起做的话,查询效率会大大降低。过度使用子查询和联合查询会导致查询开销增加,占用更多存储空间。当数据库中的数据很多,有些字段是我们经常需要查找的字段时,我们需要选择一些关键值,也就是我们需要设置索引来加快查找速度。通过合理设置索引,我们的查询将得到最佳优化。

猜你喜欢