寮哄埗绱㈠紩浣滅敤(寮哄埗绱㈠紩浣跨敤mysql)

lxf2023-07-31 14:30:01

其他强制操作的优先级如下:

mysql中常用的提示

对于经常使用oracle的朋友来说,可能知道oracle中有很多种提示函数,提供了很多优化sql语句的方法。同样,在mysql中,也有类似的提示功能。下面是一些常见的。

强制指数

SELECT * FROM table 1 FORCE INDEX(field 1)…

上面的SQL语句只使用在FIELD1上建立的索引,而不使用其他字段上的索引。

忽略索引忽略索引

SELECT * FROM TABLE1忽略索引(字段1,字段2) …

在上面的SQL语句中,没有使用表1中FIELD1和FIELD2的索引。

关闭查询缓冲区SQL_NO_CACHE。

从表1中选择SQL_NO_CACHE field1,field2。

有些SQL语句需要实时查询数据,或者不常使用(可能一天一两次),就需要关闭缓冲区。不管这条SQL语句是否被执行过,服务器都不会在缓冲区中查找,每次都会执行。

强制查询缓冲区SQL_CACHE

从表1中选择SQL _ CALHE *;

如果my.ini中的query_cache_type设置为2,则只有在使用SQL_CACHE后才会使用查询缓冲区。

优先级操作高_优先级

HIGH_PRIORITY可以用在select和insert操作中,让MYSQL知道这个操作优先。

从表1中选择HIGH_PRIORITY *

滞后操作低优先级

LOW_PRIORITY可以用在插入和更新操作中,让mysql知道这个操作是滞后的。

更新低优先级表1设置field1=其中field1= …

延迟插入延迟

将延迟插入表1集合字段1= …

INSERT DELAYED INTO是指客户端向MySQL提交数据,MySQL向客户端返回OK状态。而且这个数据并没有被插入到表中,而是存储在内存中等待排队。当mysql多于空时,再插入一次。另一个重要的好处是,来自许多客户机的插入被组合在一起,并写入一个块中。这比执行许多独立的插入要快得多。缺点是自动递增的ID无法返回,如果MySQL在系统崩溃时还没来得及插入数据,这些数据就会丢失。

强制连接顺序直线_连接

选择表1。字段1,表2。表1中的字段2直接_连接表2,其中…

根据上面的SQL语句,MySQL通过STRAIGHT_JOIN强制按照TABLE1和TABLE2的顺序连接表。如果你觉得按照自己的顺序连接比MySQL推荐的顺序更高效,可以通过STRAIGHT_JOIN来确定连接顺序。

强制使用临时表SQL_BUFFER_RESULT。

从表1中选择SQL_BUFFER_RESULT *,其中…

当查询结果集中有很多数据时,我们可以通过SQL_BUFFER_RESULT强制将结果集放在一个临时表中。这将快速释放MySQL的表锁(以便其他SQL语句可以查询这些记录),并长期为客户端提供大型记录集。

分组使用临时表SQL_BIG_RESULT和SQL_SMALL_RESULT。

SELECT SQL_BUFFER_RESULT FIELD1,COUNT(*)FROM table 1 GROUP BY field 1。

该选项通常用于分组或区分关键字,通知MySQL将查询结果放在一个临时表中,甚至在必要时在一个临时表中进行排序。SQL_SMALL_RESULT类似于SQL_BIG_RESULT,很少使用。

adminjs.cn是一个以CSS、JavaScript、Vue、HTML为核心的前端开发技术网站。我们致力于为广大前端开发者提供专业、全面、实用的前端开发知识和技术支持。 在本网站中,您可以学习到最新的前端开发技术,了解前端开发的最新趋势和最佳实践。我们提供丰富的教程和案例,让您可以快速掌握前端开发的核心技术和流程。 Adminjs.cn还提供一系列实用的工具和插件,帮助您更加高效地进行前端开发工作。我们提供的工具和插件都经过精心设计和优化,可以帮助您节省时间和精力,提升开发效率。 在Adminjs.cn中,您可以找到您需要的一切前端开发资源,让您成为一名更加优秀的前端开发者。欢迎您加入我们的大家庭,一起探索前端开发的无限可能!