当前位置: 首页 > 面试题库 >

MySQL Enum性能优势?

喻昀
2023-03-14
问题内容

在一个字段只有5-10个不同的可能值的情况下使用枚举是否有性能优势?如果不是,优势是什么?


问题答案:

使用以下操作会导致巨大的性能 损失ENUM

  • 查询中的允许值列表ENUM,例如,填充一个下拉菜单。您必须从查询数据类型INFORMATION_SCHEMA,并从返回的BLOB字段中解析列表。

  • 更改允许值的集合。它需要一条ALTER TABLE语句,该语句锁定表并可以进行重组。

我不是MySQL的粉丝ENUM。我更喜欢使用查找表。另请参阅我对“
如何在数据库中没有枚举字段的情况下处理枚举?
”的回答。



 类似资料:
  • mySQLenum是一个在命令行下使用的工具,它可以对后台使用MySql数据库的Web应用程序实施自动化的SQL盲注入攻击。它的主要目标是提供一个易于使用的命令行界面接口。MySQLenum的编程语言是c。

  • 有许多因素影响你的 Web 应用程序的性能。有些是环境, 有些是你的代码,而其他一些与 Yii 本身有关。 在本节中,我们将列举这些因素并解释如何通过调整这些因素来提高应用程序的性能。 优化你的 PHP 环境 一个好的 PHP 环境是非常重要的。为了得到最大的性能, 使用最新稳定版本的 PHP。 PHP 的主要版本可能带来显著的性能提升。 启用字节码缓存 Opcache(PHP 5.5或更高版本)

  • 使用 YOG2 我们可以轻松的实现多种性能优化功能。 压缩 yog2 release --dest dev --optimize # 也可以使用等价缩写 yog2 release -od dev 压缩功能将会对 JavaScript, CSS, PNG 三种资源进行压缩。 MD5戳 在使用 fis 管理了静态资源后,我们可以通过开启 MD5 戳来实现静态资源的强缓存,关于 MD5戳的优点,可

  • 对于某些工作负载,可以在通过在内存中缓存数据或者打开一些实验选项来提高性能。 在内存中缓存数据 Spark SQL可以通过调用sqlContext.cacheTable("tableName")方法来缓存使用柱状格式的表。然后,Spark将会仅仅浏览需要的列并且自动地压缩数据以减少内存的使用以及垃圾回收的 压力。你可以通过调用sqlContext.uncacheTable("tableName")

  • 集群中的Spark Streaming应用程序获得最好的性能需要一些调整。这章将介绍几个参数和配置,提高Spark Streaming应用程序的性能。你需要考虑两件事情: 高效地利用集群资源减少批数据的处理时间 设置正确的批容量(size),使数据的处理速度能够赶上数据的接收速度 减少批数据的执行时间 设置正确的批容量 内存调优

  • 页面性能优化 桌面端性能优化 网络加载 减少 HTTP 请求次数; 减小 HTTP 请求大小; 将 CSS 或 JavaScript 放到外部文件中,避免使用标签直接引入; 避免页面中空的 href 和 src 属性; 为 HTML 指定 Cache-Control 或 Expires; 合理设置 Etag 和 Last-Modified; 减少页面重定向; 使用静态资源分域存放来增加下载并行数;

  • 当应用于数以百万计的用户或权限的生产环境时,您可能会在Casbin 的强制执行中遇到性能降级,通常有两个原因: 高访问量 每秒到来的请求数量非常庞大,例如:单个Casbin实例每秒就能收到10000条请求。 在这种情况下,仅靠一个Casbin实例通常难以处理完所有请求。 现在有两种解决方案: 运用多线程来运行多个Casbin实例,这样以来您就可以充分利用机器中的所有内核。 详情请参阅:多线程 将C

  • imi 为性能做了以下努力: 框架核心运行时缓存 项目运行时缓存 热更新重启采用增量方式 数据库 Statement 复用 减少不必要的注入处理 使用框架核心运行时缓存+热更新重启采用增量方式,我们的实际项目原本重启需要 6 秒,现在只需几毫秒,提升可谓是巨大的。 使用项目运行时缓存后,每次启动和热重启worker进程时,硬盘读写压力不再巨大。 我们将持续为性能优化,为可靠性优化。 上面提到的框架