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

MySQL:优化具有很多列的表

锺离旻
2023-03-14
问题内容

我的用户表有26列以上,这正常吗?当该用户表引起我注意时,数据库已被标准化为第3级。设计26列是否可以,或者在设计数据库时应该使用其他优化技术吗?

更多:对表进行分区是什么意思?


问题答案:

26列没有什么问题,但是如果很少使用它们,那就不一样了。

而不是使用26列,而是使用更少的列,并使用序列化字符串将它们分组。

将字段更改为文本字段,然后在代码中可以对它们进行反序列化并使用它们。如果需要更新,请更新阵列(从代码中),然后对其进行序列化并将其保存到数据库中。



 类似资料:
  • 我想知道是否有任何优化的方法来创建一个包含超过1k对象的适配器。我尝试了以下方法,但结果仍然不乐观。 A.View持有人模式-它有帮助,但当对象大小增加它开始有问题 B.注意:我本可以使用一个分页的api,它传递了定义数量的对象,但我在我的场景中没有分页的Api。 C.我的列表中确实有图片,但我已经处理好了。现在不成问题了。 让我知道实现适配器的任何新方法,该适配器中可以有大量对象列表,而不会出现

  • 该查询占用了tmp目录中的3GB+并最终超时。我这里少了点什么,怎样才能提高效率?我在这里的目标只是添加到现有查询中,以便从额外的表(j25_mt_cfvalues)中获取值。 : j25_mt_cats模式:

  • 问题内容: 在我的应用程序中,我必须实例化许多不同类型的对象。每种类型都包含一些字段,需要将其添加到包含类型中。我怎样才能优雅地做到这一点? 我当前的初始化步骤如下所示: 我真的想避免编写这样的代码,因为必须分别实例化每个对象然后在多行代码中初始化每个字段(例如,必须先调用然后再调用)有点麻烦。 我可以使用什么优雅的方法代替我现有的方法?是否可以使用任何“ ”?您有任何参考资料/示例来避免编写这样

  • 下面说的优化基于 MySQL 5.6,理论上 5.5 之后的都算适用,具体还是要看官网 服务状态查询 查看当前数据库的状态,常用的有: 查看系统状态:SHOW STATUS; 查看刚刚执行 SQL 是否有警告信息:SHOW WARNINGS; 查看刚刚执行 SQL 是否有错误信息:SHOW ERRORS; 查看已经连接的所有线程状况:SHOW PROCESSLIST; 查看当前连接数量:SHOW

  • 在整体的系统运行过程中,数据库服务器 MySQL 的压力是最大的,不仅占用很多的内存和 cpu 资源,而且占用着大部分的磁盘 io 资源,连 PHP 的官方都在声称,说 PHP 脚本 80% 的时间都在等待 MySQL 查询返回的结果。由此可见,提高系统的负载能力,降低 MySQL 的资源消耗迫在眉睫。 常见优化方法: 1、页面缓存 1、页面缓存功能是降低MySQL的资源消耗的(PHPCMS V9

  • 问题内容: 对于一个项目,我们有一堆始终具有相同结构且未链接在一起的数据。有两种保存数据的方法: 为每个池创建一个新的数据库(约15-25个表) 在一个数据库中创建所有表,并根据表名称更改池。 对于MySQL来说,哪一个更容易和更快地处理? 编辑: 我对数据库设计没有兴趣,只是对两种可能性中的哪一种更快感到兴趣。 编辑2: 我将尝试使其更加清晰。如前所述,我们将获得数据,其中一些日期很少会属于不同