简化一下:我们如何在磁盘上查找存储在其自己的表空间中的 InnoDB 表的表大小(前提是 innodb_file_per_table=1 )。...在我们得到答案之前,先展示通过 sysbench 运行预先获得的图表(批量数据插入表): ?...此图显示了从 INFORMATION_SCHEMA.TABLES 获取的 data_length 和 index_length 所定义的表大小。...InnoDB 压缩(InnoDB 表压缩),您将看到 data_length 和 index_length 中显示的压缩数据大小作为结果。...结论 回答一个微不足道的问题“这个表在磁盘上占用了多少空间?” 在 MySQL 中真的不是一个简单的问题 - 显而易见的数据,可能会得到错误的答案。
标签:Excel公式 通常,我们会在工作表中放置查找表,然后使用公式在该表中查找相对应的值。然而,这也存在风险,就是用户可能会在删除行时无意识地将查找表中的内容也删除,从而导致查找错误。...如下图1所示,将查找表放置在列AA和列BB中。 图1 如下图2所示,在查找表中查找列A中的值并返回相应的结果。...图2 此时,如果我们删除行,而这些删除的行刚好在查找表数据所在的行,那么就破坏了查找表。那么,该怎么避免这种情况呢? 一种解决方法是在另一个工作表中放置查找表,然后隐藏该工作表。...然而,如果查找表的数据不多,正如上文示例中那样,那么可以将查找表嵌入到公式中。 如下图3所示,选择公式中代表查找表所在单元格区域的字符。...如果不好理解,你可以直接将其复制到工作表中。 按Ctrl+C键复制花括号内容后,在工作表中选择5行2列区域,输入=号,按Ctrl+V键,再按Ctrl+Shift+Enter组合键,结果如下图6所示。
很多时候,我们都需要从工作簿中的各工作表中提取数据信息。如果你在给工作表命名时遵循一定的规则,那么可以将VLOOKUP函数与INDIRECT函数结合使用,以从不同的工作表中提取数据。...假如有一张包含各种客户的销售数据表,并且每个月都会收到一张新的工作表。这里,给工作表选择命名规则时要保持一致。...也就是说,将工作表按一定规则统一命名。 在汇总表上,我们希望从每个月份工作表中查找给客户XYZ的销售额。...假设你在单元格区域B3:D3中输入有日期,包括2020年1月、2020年2月、2020年3月,在单元格A4中输入有客户名称。每个月销售表的结构是在列A中是客户名称,在列B中是销售额。...当你有多个统一结构的数据源工作表,并需要从中提取数据时,本文介绍的技巧尤其有用。 注:本文整理自vlookupweek.wordpress.com,供有兴趣的朋友参考。 undefined
把记忆的东西零星整理一下: Mapx4不支持具体到图元的样式的指定,只能够指定到图层的样式 而在MapInfo中,是可以为每个图元指定样式的 在Mapx5中,支持对个别图元的样式的指定,所以如果有这个需要...对于Label,也可以指定样式,而用的style是文字相关的style。只不过这个style,是从labels集合中的元素关联的style。
,为该activity中的控件的触摸事件进行分发,分发的意思也就是说,如果该方法返回true,当你对activity中的view进行点击,长按,滑动等操作时Log信息如下: 的是返回的false 在此声明:当屏幕进行触摸时首先是activity感受到该触摸事件,然后对事件进行分发处理,也就是说要不要传给activity中的view进行处理。...在事件进行分发时,首先判断点击的位置是否处于view的范围,如果不属于会执行onTouchEvent方法,如果属于然后再分发到view。...activity首先将事件分发到你所定义的最外层的view,在本程序中我只定义了一个view,所以当dispatchTouchEvent返回false进行事件分发时就理所当然的分发给了我所定义的view...的listener,在ACTION_UP结束后会触发onClick方法。
数据库是应用开发中常用的技术,在Android应用中也不例外。Android默认使用了SQLite数据库,在应用程序开发中,我们使用最多的无外乎增删改查。...本文将介绍一些实用的数据库优化操作,希望可以帮助大家更好地在开发过程中使用数据库。 建立索引 很多时候,我们都听说,想要查找快速就建立索引。...这句话没错,数据表的索引类似于字典中的拼音索引或者部首索引。...对于不知道拼音的字,比如欗这个字,我们只需要在部首索引里面查找这个字,就能找到确定这个字在词典中的页码。 没错,索引做的事情就是这么简单,使得我们不需要查找整个数据表就可以实现快速访问。...建立索引会增加数据库的大小,比如字典中的拼音索引和部首索引实际上是会增加字典的页数,让字典变厚的。 为数据量比较小的表建立索引,往往会事倍功半。
(Binder.java:565) 如上异常堆栈中的错误信息error code 5: database is locked,经过查找发现code为5代表sqlite中的SQLITE_BUSY异常,详见...会创建一个数据库实例SQLiteDatabase,如果在不同的进程如果通过shareuserid来实现数据库共享,那么会造成每一个进程都有SQLiteDatabase对象,在并发操作的时候也有可能会出现如上问题...比如,有一个删除表的操作发生在其他的线程在对这个表进行读操作的过程中,那么就会报SQLITE_LOCKED异常,也就是说一个线程的删除表操作和另一个线程对相同表的读取操作存在冲突,前提是这两个操作都是使用同一个数据库连接...java.lang.IllegalStateException: get field slot from row 0 col 0 failed异常,这个异常是数据库在执行查询操作的时候,如果数据库中的一条记录所占用的内存大于...详见:https://github.com/sqlcipher/android-database-sqlcipher/issues/341#issuecomment-310289295,现在是改成动态来分配大小的
Handler和AsyncTask为了是为了不阻塞主线程即UI线程,UI的更新只能在主线程中进行处理,所以异步处理在Android开发中不可免。...在关系型数据库中,二维表中的列为属性,称为字段;行为记录,如一对象;属性中(字段)取值范围称为域。 这里我们要学会数据库,如DDL,DML等,数据定义语言和数据操作语言,创建表格和增删改查。...在SQLite中我们要了解认识SQLiteOpenHelper和SQLiteDatabase,并学会用。和两种方法rawQuery():用于查询和execSQL():用于增删改查。...在Android提供了SQLiteDatabase创建对象,运用不用写数据库语法封装好的API类。分别用query(),insert(),delete(),update()表示。...创建表语句 //注意这里 _id 在Android中写这种形式,如果写 id为报错的 create table student(_id Integer primary key autoincrement
1,查找 在normal模式下按下/即可进入查找模式,输入要查找的字符串并按下回车。 Vim会跳转到第一个匹配。按下n查找下一个,按下N查找上一个。...2,大小写敏感查找 在查找模式中加入\c表示大小写不敏感查找,\C表示大小写敏感查找。例如: /foo\c 将会查找所有的"foo","FOO","Foo"等字符串。...例如当前为foo, 可以匹配foo bar中的foo,但不可匹配foobar中的foo。 这在查找函数名、变量名时非常有用。 按下g*即可查找光标所在单词的字符序列,每次出现前后字符无要求。...还有很多其他有用的替换标志: 空替换标志表示只替换从光标位置开始,目标的第一次出现: :%s/foo/bar i表示大小写不敏感查找,I表示大小写敏感: :%s/foo/bar/i # 等效于模式中的\...^E与^Y是光标移动快捷键,参考: Vim中如何快速进行光标移 大小写敏感查找 在查找模式中加入\c表示大小写不敏感查找,\C表示大小写敏感查找。
对于一般的INT、CHAR、tinyint等数据类型,他们占用的存储空间都是以Byte字节为单位的,但是BIT类型由于只有0和1或者说false和true,这种情况只需要一个Bit位就可以表示了,那么在...例如这样一个表: CREATE TABLE tt ( c1 INT PRIMARY KEY, c2 BIT NOT NULL, c3 CHAR(2) NOT NULL ) SQL Server在存储表中的数据时先是将表中的列按照原有顺序分为定长和变长...在数据页中存储数据时先存储所有定长的数据,然后再存储变长的数据。...关于数据行的具体格式我就不在这里多说了,在《SQL Server 2005技术内幕 存储引擎》中有详细介绍。我们插入的数据从第5个字节开始,是01000000 016161。...3.一个表中有多个BIT类型的列,其顺序是否连续决定了BIT位是否可以共享一个字节。SQL Server中按照列顺序存储,第一列和最后一列都是BIT数据类型列,不可以共用一个字节。
当提到在web设计中居中元素时。关于被居中的元素和它父元素的信息,你知道的越多就越容易设置。那么假如当你不知道任何信息?居中也是可设置的。...以下的这些方法不太全面,现做补充。 1) 在待居中元素外 包裹table-cell,设置table-cell只是让table-cell中的元素在table-cell中居中。...2)table中在添加tr,td前要先添加tbody。 ---- 困难的:不知道子元素的宽高 当你不知道待居中子元素的尺寸时,设置子元素居中就变得困难了。 ?...那么这个ghost元素是一个无语意的元素?不,它是一个pseudo元素。 ? 我要告诉你的是这个ghost元素技巧是更好的方式并且应该是你想要的居中技巧在近些年来。...最好的做法是在父元素中设置font-size:0 并在子元素中设置一个合理的font-size。
End Sub 在代码中,对要搜索的文本使用了通配符,因此可以搜索部分匹配的文本。此外,对数据区域使用了“硬编码”,你可以将其修改为实际的数据区域。代码运行的结果如下图2所示。 ?...End Sub 在编写好代码后,将宏指定给表示按钮的矩形形状。在形状中单击右键,如下图4所示。 ? 图4 选取“指定宏”命令,在“指定宏”对话框中选择宏名,如下图5所示。 ?...图5 可以在此基础上进一步添加功能,例如,在搜索完成后,我想恢复原先的数据,可以在工作表中再添加一个代表按钮的矩形形状,如下图6所示。 ?...但细心的朋友可能发现,由于我们使用的是文本框和形状,因此会出现Excel的编辑形状线,特别是输入文本后,单击形状前,都需要在其他单元格中单击一下,才能再单击形状。这可能会带来不便!...在我们编写的代码中,有很多注释掉的代码语句,可供参考。
列表展示所有的黑名单手机号码 在布局文件中添加控件,定义一个id 获取ListView对象 调用ListView对象的setAdapter()方法,参数:ListAdapter对象...()方法 调用View.inflate()方法,转换布局文件为View对象,参数:上下文,布局资源,null 查找到相应的控件,设置文件 数据库操作 在db包下新建一个BlackNumberDBOpenHelper...表名,允许为null的列,ContentValues对象 获取ContentValues对象,new出来 调用ContentValues对象的put()方法,参数:key,value 修改记录 定义方法...对象的update()方法,修改表记录,参数:String表名,ContentValues对象,String的条件(“number=?”)...对象 调用SQLiteDatabase对象的delete()方法,删除表记录,参数:String表名,String的条件(“number=?”)
和文件相比,sqlite表中存储的是一系列的有规则的数据对象,每个对象都有固定的某些数据。...所以,你究竟要选择何种存储方式就看你自己的数据对象的特点了 Android中有现成的对数据库操作的api—SqliteDatabase.这些api其实也不过是拼接成一个sql语句,只有搞清楚了sql语句的规则...,才能更好的发挥作用 sqlite语句中常用的有这么几类,sql对大小写不敏感 定义表Table(把整个table作为一个整体考虑) create:创建表 drop:删除表 操作表Table(传说中的写表...) insert:向表中插入数据 update:更新表中的数据 delete:删除表中的数据 浏览表Table(传说中的读表) select:查询表中的数据 为了更直观的感受sqlite的命令语法,直接使用...在创建表时,我们在每一个数据类型后有写not null,也就是要求非空。 所以赋值时要求非空的列是必须要赋值的。
我们给出了基于在多个工作表给定列中匹配单个条件来返回值的解决方案。本文使用与之相同的示例,但是将匹配多个条件,并提供两个解决方案:一个是使用辅助列,另一个不使用辅助列。 下面是3个示例工作表: ?...图3:工作表Sheet3 示例要求从这3个工作表中从左至右查找,返回Colour列中为“Red”且“Year”列为“2012”对应的Amount列中的值,如下图4所示的第7行和第11行。 ?...图4:主工作表Master 解决方案1:使用辅助列 可以适当修改上篇文章中给出的公式,使其可以处理这里的情形。首先在每个工作表数据区域的左侧插入一个辅助列,该列中的数据为连接要查找的两个列中数据。...16:使用VLOOKUP函数在多个工作表中查找相匹配的值(1)》。...C:C"}),2012)>0,0) 转换为: =MATCH(TRUE,{0,0,1}>0,0) 结果为: 3 表明在工作表列表的第3个工作表(即Sheet3)中进行查找。
在某个工作表单元格区域中查找值时,我们通常都会使用VLOOKUP函数。但是,如果在多个工作表中查找值并返回第一个相匹配的值时,可以使用VLOOKUP函数吗?本文将讲解这个技术。...最简单的解决方案是在每个相关的工作表中使用辅助列,即首先将相关的单元格值连接并放置在辅助列中。然而,有时候我们可能不能在工作表中使用辅助列,特别是要求在被查找的表左侧插入列时。...图3:工作表Sheet3 示例要求从这3个工作表中从左至右查找,返回Colour列中为“Red”对应的Amount列中的值,如下图4所示。 ?...,我们首先需要确定在哪个工作表中进行查找,因此我们使用的函数应该能够操作三维单元格区域,而COUNTIF函数就可以。...} 分别代表工作表Sheet1、Sheet2、Sheet3的列B中“Red”的数量。
; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase.CursorFactory...private static final int VERSION = 2; // SQLiteOpenHelper子类必须有该构造函数 // 第一次参数Activity对象,第二个表名...,实际上是在第一次得到SqliteDatabase对象的时候执行 @Override public void onCreate(SQLiteDatabase db) {...android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; import..., new Object[]{newName, name}); } database.close(); } //查找所有person public
学习Excel技术,关注微信公众号: excelperfect 要在Excel工作表中获取最大值或最小值,我们马上就会想到使用MAX/MIN函数。...例如,下图1所示的工作表,使用公式: =MAX(A1:D4) 得到最大值18。 使用公式: =MIN(A1:D4) 得到最小值2。 ?...图1 然而,当遇到要在多个工作表中查找最大值或最小值时,该怎么做呢?例如,示例工作簿中有3个工作表:Sheet1、Sheet2和Sheet3,其数据如下图2至图4所示。 ? 图2 ? 图3 ?...图4 很显然,这些数据中最小值是工作表Sheet2中的1,最大值是工作表Sheet3中的150。 可以使用下面的公式来获取多个工作表中的最小值: =MIN(Sheet1:Sheet3!...A1:D4) 使用下面的公式来获取多个工作表中的最大值: =MAX(Sheet1:Sheet3!A1:D4) 结果如下图5所示。 ?
在接下来的几篇文章中,我将介绍如何使用 Windows Phone 8 平台上的本地数据,并与 Android 平台相比较。...举例来说,假设您的应用程序正在将博客文章存储在 SQLite 表中。通过你在上一节得到的 sqlite-net 包,你可以简单地写一个类来定义一张表。...Android 提示 在 Android 中,通过继承 SQLiteOpenHelper 类并实现以下方法,你可以简单的创建一张表。...提示 在 Android 中,你可以使用以下代码得到一个包含所有记录的 Cursor 对象: public Cursor getPosts(SQLiteDatabase db){ String[]...提示 使用以下代码来在 Android 中通过 id 查找记录: public Cursor getPost(SQLiteDatabase db, Integer id){ String[]
在Android开发中SQLite起着很重要的作用,网上SQLite的教程有很多很多,不过那些教程大多数都讲得不是很全面。...,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。...SQLiteDatabase代表一个数据库对象,提供了操作数据库的一些方法。在Android的SDK目录下有sqlite3工具,我们可以利用它创建数据库、创建表和执行一些SQL语句。...onOpen(SQLiteDatabase): 这是当打开数据库时的回调函数,一般在程序中不是很常使用。 写了这么多,改用用实际例子来说明上面的内容了。...* from stu_table; 1|xiaoming|23|male id=2的数据已经被删除 总之,我们可以在代码中执行数据库的增删改查,也可以在adb命令行下实现。
领取专属 10元无门槛券
手把手带您无忧上云