Database 访问数据库的费用有多高?我们多久访问一次?
我将要为Android编写一个应用程序,它将使用Mysql。 我知道访问数据库的时间非常昂贵,我想知道像即时通讯、在线游戏这样的应用程序访问数据库的频率是多少? 例如,在一场比赛中,我们想保存一个球员在世界上的位置,当他一直在移动的时候 数据库访问实际上不昂贵吗?有没有一种方法可以一直连接到数据库,只需执行实际上不昂贵的请求 或者它真的很昂贵,而且有一些技术可以访问它,例如每X个时间间隔访问一次,同时在本地保存它 我知道我的问题非常笼统,它总是取决于我们需要什么和想要什么。 我的问题之所以出现,是因为我制作了一个非常简单的登录应用程序,它连接并向数据库发出一个请求,需要1秒(很多!!)才能得到结果,那么在线应用程序怎么能这么快呢Database 访问数据库的费用有多高?我们多久访问一次?,database,sqlite,database-connection,Database,Sqlite,Database Connection,我将要为Android编写一个应用程序,它将使用Mysql。 我知道访问数据库的时间非常昂贵,我想知道像即时通讯、在线游戏这样的应用程序访问数据库的频率是多少? 例如,在一场比赛中,我们想保存一个球员在世界上的位置,当他一直在移动的时候 数据库访问实际上不昂贵吗?有没有一种方法可以一直连接到数据库,只需执行实际上不昂贵的请求 或者它真的很昂贵,而且有一些技术可以访问它,例如每X个时间间隔访问一次,同时在本地保存它 我知道我的问题非常笼统,它总是取决于我们需要什么和想要什么。 我的问题之所以出现,
谢谢这取决于您的设计和要求 1) 大多数应用程序都管理连接池以最小化初始化时间 2) 大多数ORM框架都有外部缓存来提高读取性能。因此,如果您在应用程序中读取大量数据,则不必担心将其存储在本地。在这种情况下,缓存将有效 3) 当您以文件(或)某种格式在本地存储时,也会增加额外的性能延迟
4) 如果您将数据保存在主内存中,那么显然
Game
性能会更好。这就是为什么玩家更喜欢高端图形卡和超大RAM的原因。这取决于您的设计和要求
1) 大多数应用程序都管理连接池以最小化初始化时间
2) 大多数ORM框架都有外部缓存来提高读取性能。因此,如果您在应用程序中读取大量数据,则不必担心将其存储在本地。在这种情况下,缓存将有效
3) 当您以文件(或)某种格式在本地存储时,也会增加额外的性能延迟
4) 如果您将数据保存在主内存中,那么显然Game
性能会更好。这就是为什么玩家更喜欢高端图形卡和超大RAM的原因。对于大多数数据库,都可以选择批量插入。很明显,如果您需要长时间的连接,那么即使是很小的开销也会累积。执行单次插入的开销将比批处理的开销更大。唯一的问题是多久一次?。。。。在批量插入之前,您应该测试不插入的频率以及本地存储的信息量。对于大多数数据库,都可以选择批量插入。很明显,如果您需要长时间的连接,那么即使是很小的开销也会累积。执行单次插入的开销将比批处理的开销更大。唯一的问题是多久一次?。。。。在批量插入之前,您应该测试不插入的频率以及本地存储的信息量。在回答这个问题之前,我建议您尽可能多地模拟流程,进行基准测试,并为您的用例找到最佳解决方案
e、 g.如果我有一个向数据库提交数据的应用程序,请模拟提交,以便我可以轻松地同时运行多个提交,并查看瓶颈是什么……以及在我使用缓存、复制、索引等时它的比较情况
此外,阅读公司博客也会有所帮助,因为他们经常分享支持使用特定方法的信息
访问数据库的费用有多高?
访问数据库可能是一个非常快速的操作
SELECT 1; // 0.005 Secs :D
但是,有些情况可能会导致性能低下(读、写和更新缓慢),但有一些相对简单的方法可以解决这一问题
提高SELECT操作性能的最佳方法是
在中测试的一个或多个列上创建索引
查询索引项就像指向表行的指针,允许
用于快速确定哪些行与中的条件匹配的查询
子句,并检索这些行的其他列值
在多个从属设备之间分散负载以提高性能。在里面
在这种环境下,所有写入和更新都必须在主机上进行
服务器但是,读取可以在一个或多个从机上进行。这
模型可以提高写操作的性能(因为主机是
专用于更新),同时大幅提高整个系统的读取速度
越来越多的奴隶
我们多久访问一次?
如果您是单独使用数据库,您将在每次定位和每次需要了解他们的位置时访问该数据库
在这里,您可以探索防止访问数据库的选项
内存缓存,如redis或memcache
复制-仅从从属服务器读取
在回答这个问题之前,我建议尽可能多地模拟这个过程,进行基准测试,这样您就可以为您的用例找到最佳的解决方案
e、 g.如果我有一个向数据库提交数据的应用程序,请模拟提交,以便我可以轻松地同时运行多个提交,并查看瓶颈是什么……以及在我使用缓存、复制、索引等时它的比较情况
此外,阅读公司博客也会有所帮助,因为他们经常分享支持使用特定方法的信息
访问数据库的费用有多高?
访问数据库可能是一个非常快速的操作
SELECT 1; // 0.005 Secs :D
然而,也有一些情况会导致性能低下(读、写和更新速度慢),但有一些相对简单的方法可以避免这种情况