php地区管理,php – 如何管理数据库中的国家/地区

我知道我的问题看起来有点模糊,但我觉得管理国家/地址实际上是非常常见的,所以我想对我的实际设置提出一些建议.

我有一个带有“country”列的数据库,以前它是一个中型int类型,充当另一个表的外键,其中包含有关这些国家的实际信息(主要是id,name和ISO3166-1 alpha2代码).

经过一些测试和基准测试后,我最终将所有国家/地区的信息都放在了php文件阵列中,包括/在需要时需要它,它比查询数据库快一两个数量级. (他们是278个国家).

显然这是一个更好的方法,但我觉得有些不对劲,因为人们通常倾向于从桌子而不是从文件中读取这种东西,但我无法弄清楚它会是什么,是否更容易维护或这样的事情?

此外,我正在考虑将2个字母的ISO代码作为键而不是数字ID,它将更具人性化,无论如何它们都是独一无二的.我看到400.000行表中没有明显的性能损失,如果我的数据库增长,这最终会出错吗?

解决方法:

一般来说,您希望将一起变化的事物保持在一起.因此,如果您的主数据存在于SQL数据库中,那么将国家/地区数据保存在数据库中有助于避免疯狂,就像有人更改PHP查找数组而没有意识到SQL数据库中存在大量数据一样.

它还有助于避免重复 – 如果您为系统构建第二个应用程序(例如管理系统),则最终不会有2个国家/地区查找PHP文件的副本.同样,复制会为错误创造机会,开发人员可以更改数据库和其中一个查找文件,但不能更改另一个.

所有这些都是相当防御的 – 但应用程序往往以意想不到的方式发展,避免错误通常是一个好主意.

根据我的经验,使用两个表之间的连接对于一个经过良好调优的系统几乎没有可测量的性能影响,你提到的数字 – 在将查找移动到PHP之前是否优化了SQL?

标签:php,mysql,database-design,database-performance,countries

来源: https://codeday.me/bug/20190703/1367538.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,你的问题是关于测试 MySQL 数据库服务器的吗?如果是的话,我可以给你一些建议来测试 MySQL 数据库服务器。 首先,你可以使用 PHP 代码来连接 MySQL 数据库服务器并执行一些查询,以确保服务器正常工作并可以响应请求。以下是一个简单的 PHP 代码示例: ``` $servername = "localhost"; $username = "yourusername"; $password = "yourpassword"; $dbname = "yourdbname"; // 创建连接 $conn = new mysqli($servername, $username, $password, $dbname); // 检查连接是否成功 if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } // 执行查询 $sql = "SELECT * FROM yourtable"; $result = $conn->query($sql); if ($result->num_rows > 0) { // 输出数据 while($row = $result->fetch_assoc()) { echo "id: " . $row["id"]. " - Name: " . $row["name"]. " " . $row["lastname"]. "<br>"; } } else { echo "0 结果"; } // 关闭连接 $conn->close(); ``` 其次,你可以使用 MySQL 自带的命令行工具来测试数据库服务器。打开终端并输入以下命令: ``` mysql -u yourusername -p ``` 然后输入密码并按 Enter 键。如果成功登录,你应该会看到 MySQL 提示符。接着,你可以执行一些查询来测试服务器的响应速度和性能。例如,你可以键入以下命令: ``` SELECT * FROM yourtable; ``` 如果你可以看到正确的结果,那么说明 MySQL 数据库服务器正常工作。 最后,你还可以使用一些第三方工具来测试 MySQL 数据库服务器。例如,你可以尝试使用 MySQL Workbench 来连接服务器并执行一些查询。这个工具可以帮助你更直观地了解数据库服务器的性能和响应速度。 希望这些建议对你有所帮助!如果你还有其他问题,请随时向我提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值