
吐槽一下:
我从知乎、简书、CSDN、掘金、GitHub搜遍了,方法是有,可是那个软件收费。于是迫不得已,我就趁着月黑风高,翻过墙头,Google了一下,也是,找了老半天,要么是我关键词用的不对,要么就是那些大神们都不屑于写这些步骤,终于在我打算**头回来睡觉的时候,在关闭随手打开一堆网页的最后一个的时候,I get it !
防砸声明:
前方多图,高能预警。
在开始正式步骤之前,先说明我的AndroidStudio版本是2018/7/9凌晨2点为止最新版:
AndroidStudio32-beta2
别介你用着其他版本整不出来,然后拿着砖头来砸我,我已经说明版本了,那时候我可是要抄起来我的拖鞋正当防卫的。
正文:
1打开AndroidStudio30+,Open一个 *** 作数据库的项目
这一步就不给了
2运行项目->往数据库中插入数据。比如我这里注册一个用户:
3然后返回AndroidStudio->View->Tool Windows->Device File Explorer(算是最关键的一步吧,如果你的AndroidStudio没有这个选项,那就凉了)
其实右下角有一个快捷键,可以直接打开
4点击后会在右边出来一个框框,找到data->data->你自己项目的包名(可以从左边目录树java文件夹看到自己当前项目的包名)
注意是data->data!!
如果你打开的APP确实有执行过sqlite数据库相关 *** 作,但是就是没有看到database目录,你可以尝试右键包名,然后Synchronize一下,些许就出来了,如果还没有,那就想办法联系我,我倒要看看是个什么神奇的APP。
5 右键找到的包名->Save As ->选择保存路径(我图个方便就先放到桌面了)-> 点击ok
6 回桌面看一眼已经保存下来了(数据库就在database文件夹里面)
(现在已经完成保存的任务了,接下来是数据库查看内容)
(其实另外两个是没有必要存下来的,只需要保存下来database就行了,但也不能保存少了,如果只保存database里面的db是看不到数据的,具体参考:另一篇文章)
(壁纸来源:>
7要想查看数据库内容,先打开我一起打包发给你的另一个文件夹:SQLiteStudio
(看清了,不是AndroidStudio)这里面有一个开源软件SQLiteStudio,打开。
SQLiteStudio下载链接:>
8 点击左上角数据库->添加数据库->点小文件夹图标->找到你刚才保存的路径下的database文件夹->右下角选择所有文件(这一步很重要)->选择你创建的数据库->点击ok
(其实,这个软件支持像PS打开那样,直接拖动db文件到这个软件的图标,即可打开!)
9如果不出意外SQLiteStudio的左边栏已经有数据库了->如果左边没有出现,那么可以->数据库->左边就会出来一个小边边。
10然后就是双击数据库->双击Tables->双击你自己创建的表->你一看,空的,很是失望。->emmmm…Don't Panic!点击 数据->哇咔咔,出来了!!!
(如果你按照上面的 *** 作来到这里,发现还是没有数据,我猜是你少保存东西了。参考另一篇文章)
需要查看Schema所有者的话,可以对系统表PG_NAMESPACE和PG_USER执行如下关联查询。语句中的schema_name请替换为实际要查找的Schema名称。
SELECT snspname,uusename AS nspowner FROM pg_namespace s, pg_user u WHERE nspname='schema_name' AND snspowner = uusesysid;
相同的数据库对象名称可以应用在同一数据库的不同Schema中,而没有冲突。例如, a_schema和b_schema都可以包含名为mytable的表。具有所需权限的用户可以访问数据库的多个Schema中的对象。
在实际的生产运行环境中,很多客户现场都看到开发人员和系统管理人员遇到很多有关于GBase 8s 数据库引起的性能问题,进而被多次问起如何进行GBase 8s 数据库性能调优,
性能优化原则
包括:
性能规划:深入了解应用与数据库的交互特征,确立良好的设计、开发、测试迭代过程,上线前消除模型上的性能瓶颈。
实例调优:建立性能基准,对比调节数据库、 *** 作系统、存储、网络等的配置,主动监控、消除瓶颈。
SQL 调优:书写高效 SQL,优化相关数据库对象,充分借助优化器,确定最佳执行计划。
性能优化流程
首先执行下面的初始检查:
– 获取直接用户的使用反馈,确定性能目标和范围。
– 获取性能表现好与坏时的 *** 作系统、数据库、应用统计信息。
– 对数据库做一次全面健康检查。
根据收集的信息,以及对应用特性的了解,构建性能概念模型,明确性能瓶颈所在,以及导致性能的根本原因。
– 首先应该排除 *** 作系统、硬件资源造成的瓶颈。
– 然后针对数据库系统性能进行分析
– 必要时,还需要检查应用日志,因为系统性能问题也可能由于应用非 SQL 部分造成瓶颈。
提出一系列针对的优化措施,并根据它们对性能改善的重要程度排序,然后逐一加以实施。不要一次执行所有的优化措施,必须逐条尝试,逐步对比。
通过获取直接用户的反馈验证调节是否已经产生预期的效果,否则,需要重新提炼性能概念模型,直到对应用特性了解进一步准确。
重复上述,直到性能达到目标或由于客观约束无法进一步优化。
常见调优技巧
找到 CPU 占用最高的 SQL
在 sysmaster 库中执行
select sqx_estcost, sqx_sqlstatement
from syssqexplain
order by sqx_estcost desc
1
2
3
注意:此时看到的仅仅是当前正在执行的 SQL
需要多看几次
onstat 命令
onstat -g act 得到当前正在执行的 SQL
根据 rstcb 列
onstat -u | grep 57c68220
1
从第三列 sessid 得到 SESSION
onstat -g ses SESSION 即可得到当时正在执行的 SQL
一般多找几个 threads 后,就基本可以确定问题 SQL
得到 SQL 后,利用 set explain on 分析其查询路径,看是否未利用索引,在对大表进行全表扫描,根据需要创建相应索引。
找到全表扫描较多的表及其 SQL
得到全表扫描较多的表
-- 系统顺序扫描较多时,被多次顺序扫描的大表,如果有,应该考虑增加索引
select first 5
substr(ttabname,0,20) tabname,
substr(dbsname,0,10) dbname,
nrowsrowsizepseqscans costs,
substr(pseqscans,0,8) seqscans,
substr(nrows,0,8) nrows
from sysmaster:sysptprof p , systables t,sysmaster:sysprofile s
where ptabname = ttabname
and pseqscans > svalue/50
and sname = 'seqscans'
--and svalue > 2000000 and nrows > 2000
order by 3 desc
1
2
3
4
5
6
7
8
9
10
11
12
13
利用 onstat –g ses 0 –r 5/ onstat –g stm 的输出信息,根据表名,找到可能的 SQL 语句。由于以上获取 SQL 的办法是有局限的,如果无法获取,建议通过查看应用日志或联系开发人员查看源代码的方式来找到。
利用 set explain on 分析其查询路径,确认是在对表进行全表扫描,根据需要创建相应索引。
以上就是关于androidstudio数据库在哪全部的内容,包括:androidstudio数据库在哪、如何查看GBase 8c数据库中模式的所有者呢、在GBase 8c数据库中,可以在不同的模式下创建同名的表吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)