讲究优化结构包括什么(讲究优化结构包括哪些)

lxf2023-08-01 12:20:01

二十六。如何知道MySQL解决一个查询?

运行item column命令并尝试理解其输出:

显示变量;

显示来自的列...G

解释选择...G

刷新状态;

挑选...;

显示状态;

二十七、MySQL很好

杂志

当建立许多连接时,连接非常快。

同时使用选择和插入。

而不将更新与耗时太长的选择相结合。

当大多数选择/更新使用唯一的密钥代码时。

当使用没有长期冲突锁的多个表时。

使用大表时(MySQL使用非常紧凑的表格式)。

二十八、MySQL应该避免的事情

结合长时间选择,用删除的行更新或插入表。

对可以放在WHERE子句中的列使用HAVING。

没有键码的联接或键码不够唯一。

联接不同列类型的列。

当不使用=匹配整个关键代码时,使用堆表。

忘记在MySQL monitor的UPDATE或DELETE中使用WHERE子句。如果您想这样做,请使用mysql客户端的-I-am-a-dummy选项。

二十九、MySQL各种锁

内部表锁定

锁定表格(适用于所有表格类型)

GET LOCK()/RELEASE LOCK()

页面锁定(用于BDB表)

ALTER TABLE还对BDB表执行表锁定。

锁表允许一个表有多个读取器和一个写入器。

通常,锁定比读锁定具有更高的优先级,以避免让写操作者做一些事情。对于不重要的编写器,可以使用LOW_PRIORITY关键字让锁处理器优先使用读取器。

更新LOW_PRIORITY设置值=10,其中id = 10

三十、给MySQL更多的信息,更好的解决问题。请注意,您可以随时删除(注释)MySQL函数以使查询可移植:

SELECT /*!SQL _缓冲区_结果*/...

选择SQL缓冲区结果...

MySQL将被迫生成一个临时结果集。只要生成了所有临时结果集,所有表上的锁都会被释放。当您遇到表锁定问题或者需要很长时间才能将结果发送到客户端时,这可能会很有帮助。

SELECT SQL_SMALL_RESULT...分组依据...

告诉优化器结果集将只包含几行。

选择SQL_BIG_RESULT...分组依据...

告诉优化器结果集将包含许多行。

选择直线_连接...

强制优化器按照表在FROM子句中出现的顺序连接表。

挑选...FROM table _ name[使用索引(index_list) |忽略索引(index_list)] table_name2

强制MySQL使用/忽略列出的索引。

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