假设我有一个包含用户的预订数据库:
user_id
fname
lname
和他们的门票
ticket_id
user_id
flight_no
和相关的航类
flight_no
airline
departure_time
arrival_time
我需要更改什么才能移动此 Google AppEngine?
我了解 AppEngine 不允许连接。
这是否意味着我的表格应该变成一大堆字段都集中在一起?
预订:
user_id
fname
lname
ticket_id
flight_no
airline
departure_time
arrival_time
换句话说,我所有的查询现在都针对同一个表运行?
最佳答案
您需要进行哪些更改主要取决于您需要运行哪些查询,而不是您拥有的数据。您很可能只需要添加几样东西。
列出查询,然后查看Restrictions on Queries .找到有问题的部分后,请考虑 BigTable 的限制并尝试重写它们。
例如,如果您经常需要查找航类列表的机票数量,您将无法做到:
SELECT flight_no, COUNT(*) FROM flights JOIN tickets ON tickets.flight_no = flights.flight_no GROUP BY flight_no
因此您需要为 flights
添加一个票证计数器,并在创建/删除票证时递增/递减它。
好的一面是 BigTable 迫使您拥有非常可扩展的数据库设计。不利的一面是,当您并不真正需要可扩展的设计时,它会浪费您大量的时间。
关于sql - 我的表需要进行哪些更改才能在 AppEngine 的 BigTable 上工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/731147/