我不能决定 w/c 技术去 w/... 尽管我很想采用 Array 方式,因为它更直接并且更容易/更清洁编码......
让我用简单的方式解释..
对于我的消息传递应用程序,我有 2 个表
- 联系人 - 包含姓名和电话号码(目前有 5,000 多条记录)
- 消息 - 消息和电话号码,但不是成员的姓名
如果可能的话,我需要列出 1000 条消息,包括相应的电话号码和姓名……
例如。
- “嗨,伙计” - 来自 565-1111(约翰)
- “带奶酪” - 来自 565-2222(比伯)
- “呵呵呵呵” - 来自 565-2332
- “钢铁侠好帅!” - 从 565-7748 (阿尼)
ETC...
我通常会通过电话号码将联系人加入到消息中......非常标准的东西......(但实际上我的查询比简单的左连接要复杂一些)
现在,我一直在玩弄获取所有联系人并将其放入数组中的想法,我的应用程序/系统可以在其中以更简单、更直接和更简洁的代码使用它......其中:
- 询问
SELECT * contacts
并将它们存储到一个数组中:
contacts['555-7748'] = "John";
contacts['555-1111'] = "Joe";
contacts['555-2233'] = "Borat";
contacts['555-4234'] = "Arnie";
etc
这样,我可以通过访问数组轻松查找联系人的名称,在我的页面/脚本中多次,只需执行以下操作:
$name = contacts[$phoneNumber];
我实际上已经实现了这一点,它真的很酷.. 没有更多的加入头痛和重新查询联系人表等..
现在的问题是..这样可以吗?实际的?或者我可以在这里达到一些内存上限或其他东西吗?
它基本上是在我的脚本输出的每条消息上运行 JOIN 查询或将所有联系人/记录存储到数组(内存)中并引用它,使查询更简单.. 我唯一担心的是,将数千条记录查询到一个数组中,可能是不是有点过分?或者这真的可以/实用吗?特别是因为有时我的脚本需要多次获取特定联系人......
另外,我还考虑将该数组存储到 Session 变量中!大声笑..所以我的脚本可以简单地共享这些数据..大声笑
期待一些好的投入谢谢大家。
---- 2013 年 3 月 31 日(星期日)更新 ----
好的......我现在正在考虑一种完全不同的方法......
1)因为这一切真的是我需要为每条消息显示“联系人姓名”以用于整洁/演示目的(最好在消息上看到联系人的姓名而不是电话号码是吗?)....
2)并且由于每条消息都需要根据他们在 MESSAGES 表中的电话号码显示 2 个联系人姓名(收件人和发件人).....
3)我现在正在考虑将 2 个字段添加到 MESSAGES 表中......“sender_name”和“receiver_name”..我已经看到公告板/论坛软件大量使用这种技术..
4)当系统收到一条消息时,它会检查与消息相关联的号码的现有联系人条目......如果存在,获取相应的名称并将其包含到存储/插入中
5)..问题是如果在收到消息期间,联系信息不可用,因此没有保存姓名..然后创建联系信息......旧消息不会按预期显示联系人姓名......
6)3路解决方案... 1st,每次添加/更改新联系人时,我的php都会更新所有带有匹配号码的消息... 2nd,不时可能每月一次,运行“同步例程” “以确保事情是同步的..或者,当用户实际打开一条消息时,将运行强制例程以检查该特定消息的联系人姓名是否仍然与联系人表信息同步......并进行更新必要的..
嗯...更好地接近你的东西?这样,我只需要发出直接的 SELECT 查询,简单,快速..但能够显示名称..
话又说回来,我还是觉得 QUICK 数组引用的东西很酷.. lolz
- 优柔寡断