Dhr*_*hak 6 python mysql django mysql-python
示例场景:
MySQL运行单个服务器 - > HOSTNAME
该服务器上有两个MySQL数据库 - > USERS,GAMES.
任务 - >从GAMES.my_games_table获取10个最新游戏,并从USERS.my_users_table获取玩这些游戏的用户(假设没有加入)
在Django以及Python MySQLdb中,为什么每个数据库都有一个游标更可取?
扩展游标的缺点是每个MySQL服务器单个并且可以切换数据库(例如通过查询"使用USERS;"),然后处理相应的数据库
MySQL连接很便宜,但是如果有线性流并且没有可能需要两个游标的复杂tranasactions,那么单个连接不是很好吗?
一个较短的答案是,"MySQL不支持那种类型的游标",所以Python-MySQL也不支持,所以首选一个连接命令的原因是因为这就是MySQL的工作方式.这是一种重言式.
但是,答案越长:
然而:
cursor在MySQL(和其他RDMS)不是用于执行操作所述用户可访问的机制.MySQL(和其他人)以"set"的形式执行操作,或者更确切地说,他们将SQL命令编译为内部命令列表,并根据SQL命令的性质和表结构执行大量复杂的操作.cursor是一种特定的机制,在存储过程中使用(并且只在那里),为开发人员提供了一种以过程方式处理数据的方法.