ilm 和dlm差异_第八章 大数据对象设计与维护
1. 大型表/索引数据压缩设计与维护
1.1 如何对普通表进行压缩
如果对一些较为固定历史数据采取压缩方法存储,即可以节省存储空间,也可提高处理速度。表压缩技术方面,oracle
11g/12c给出新压缩方法,用create table带compress子句完成对表压缩描述。
scott@ORCL> create table sales_history_comp(part_id
varchar2(50) not null,store_id varchar2(50) not null,sale_date date
not null,quantity number(10,2) not null) compress;
Table created.
Elapsed: 00:00:00.75
scott@ORCL> select table_name,compression from
user_tables;
TABLE_NAME COMPRESSION
------------------------------------------------------------
----------------
DEPT DISABLED
EMP DISABLED
BONUS DISABLED
SALGRADE DISABLED
NO_EMP DISABLED
SPERRORLOG DISABLED
INSURED_AUTOS DISABLED
UNIT_INF DISABLED
PAY_LST_DET DISABLED
T_DEPT DISABLED
T_EMP DISABLED
EMP_COPY DISABLED
DEPT_COPY DISABLED
SALES_HISTORY_COMP ENABLED
TMP_EMP DISABLED
15 rows selected.
Elapsed: 00:00:00.33
scott@ORCL>
1.2 如何对分区表进行行压缩
如果分区表的数据量仍然很大,可以考虑对分区表进行压缩存储,oracle使用create
table带compress或alter table add partition带compress子句实现
--create table
scott@ORCL> create table t1(c01 number,c02 varchar2(200))
partition by range(c01)(partition p1 values less than(100)
compress,partition p2 values less than(200) compress);
Table created.
Elapsed: 00:00:00.21
--alter table add partition
scott@ORCL> alter table t1 add partition p3 values less
than(300) compress;
Table altered.
Elapsed: 00:00:00.08
--此外可以通过alter table实现分区表的压缩或者不压缩,比如
scott@ORCL> alter table t1 modify partition p3
nocompress;
Table altered.
Elapsed: 00:00:00.03
scott@ORCL>
1.4 如何创建一个压缩索引
如果某个索引的数据存储量很大,采用压缩方法也是一个很好的选择。可以用create
index带compress子句或者采用alter带compresss子句实现压缩
语法:
--create index语句
create index on (col1,col2,...coln) compresss [n];
--alter index语句
alter index rebulid compress [n];
create index ix_test on test(object_name,object_type) pctfree
0 compress 1,
1.5 如何进行分区索引数据压缩
如果某个索引的数据量较大,设计时可以考虑索引分区和压缩。但是要在已经存在的索引上通过alter
index实现分区索引的压缩是不允许的,必须先删除原来索引,然后再用create index语句创建。
下面是错误的:
alter index IDX_RANG_SALES_PROD_ID rebuild partition
SALES_Q1_2007 compress;
下面做法是正确的
drop index IDX_RANGE_SALES_PROD_ID;
create index IDX_RANGE_SALES_PROD_ID ON RANGE_SALES(PROD_ID)
LOCAL COMPRESS;
1.6 如何创建OLTP压缩表
如果你的应用表属于OLTP应用,相关的表的数据可采取OLTP压缩方法存储。
scott@ORCL> create table emp1(emp_id number,first_name
varchar2(128),last_name varchar2(128)) compress for OLTP;
Table created.
Elapsed: 00:00:00.05
sys@ORCL> create table tab_oltp compress for OLTP as select
* from dba_objects;
Table created.
Elapsed: 00:00:00.33
sys@ORCL>
alter table...move compress for OLTP;
1.7如何创建压缩实体视图
create materialized view mv_sales_comp compress as
select.........
说明:
实体化视图压缩是否有必要,关键要看产生的结果集是否很大,如果数据量很大,考虑用压缩式必要的,否则,就不要采用压缩创建。
1.8 如何建立ILM压缩表
ILM是信息生命期(information lifecycle management),是oracle
12c版本提供的新功能之一。采用ILM可以对信息生命周期进行有效和完善的数据存储。如果oracle12c的数据库数据量很大,并且有部分的数据总是处于“热数据、温数据和冷数据”几个阶段。这样可以考虑将那些“冷”数据采用数据压缩或分区数据压缩处理。oracle用create
table时增加ILM ADD POLICY COMPRESS子句实现
--适用版本:12c(非CDB)
--语句1:create table 上加 ILM ADD POLICY 子句
create tabble sales
(PROD_ID NUMBER NOT NULL,
CUST_ID NUMBER NOT NULL,
TIME_ID DATE NOT NULL,
CHANNEL_ID NUMBER NOT NULL,
PROMO_ID NUMBER NOT NULL,
QUANTITY_SOLD BINARY_DOUBLE NOT NULL,
AMOUNT_SOLD BINARY_DOUBLE NOT NULL)
ILM ADD POLICY COMPRESS FOR ARCHIVE HIGH
SEGMENT
AFTER 6 MONTHS OF NO ACCESS
TABLESPACE USERS STORAGE(INITIAL 4M NEXT 2M);
---以实现将sales表定义为6改月后不被访问 时进行数据压缩
--
--语句2:
alter table sales
ILM ADD MovePolicy
TIER Partitions to
'Archive_TBS'
ON OrdersClosedPolicy;
--实现ILM测试的定义
--语句3:
--
select substr(policy_name,1,24) "POLICY_NAME",
policy_type,enabled
FROM USER_ILMPOLICIES;
1.9 如何查询压缩对象信息
scott@ORCL> create table t
as select * from all_objects where rownum
<=50000;
Table created.
Elapsed: 00:00:32.57
scott@ORCL>
scott@ORCL> create index
IX_TEXT on t(owner,object_type,object_name) compress 1;
Index created.
Elapsed: 00:00:00.28
scott@ORCL>
select owner,table_name,index_name,compression from dba_indexes where
compression='ENABLED';
或者
scott@ORCL>
select owner,table_name,index_name,compression
from all_indexes where compression='ENABLED';
OWNER TABLE_NAME INDEX_NAME COMPRESSION
------------------------------------------------------------
------------------------------------------------------------
------------------------------------------------------------
----------------
SCOTT T IX_TEXT ENABLED
1 row selected.
Elapsed: 00:00:00.20
scott@ORCL>
--下面脚本式测试索引的压缩比率方法
desc index_stats
set linesize 121
scott@ORCL> select
height,blocks,lf_rows,lf_blks,br_rows,br_blks,btree_space,used_space
from index_stats where name='IX_TEXT';
HEIGHT BLOCKS LF_ROWS LF_BLKS BR_ROWS BR_BLKS BTREE_SPACE
USED_SPACE
---------- ---------- ---------- ---------- ---------- ----------
----------- ----------
2 32 5574 29 28 1 239796 204188
1 row selected.
Elapsed: 00:00:00.08
scott@ORCL>
scott@ORCL> analyze index
IX_TEXT validate structure;
Index analyzed.
Elapsed: 00:00:00.10
--对无压缩的索引执行analyze命令时,数据库会提供一个最优的压缩建议及其压缩效果,并将其写至OPT_CMPR_PCTSAVE、OPT_CMPR_COUNT中。
scott@ORCL> select
opt_cmpr_count,opt_cmpr_pctsave from index_stats;
OPT_CMPR_COUNT OPT_CMPR_PCTSAVE
-------------- ----------------
2 18
1 row selected.
Elapsed: 00:00:00.15
--opt_cmpr_count会告诉我们要得到最佳压缩效果应使用的压缩数,opt_cmpr_pctsave
则会告诉我们使用opt_cmpr_count能节省多少空间百分比
说明
当表采用压缩时,你可以查询DBA_TABLES数据字典,这个数据字典也有compression列,当compression列的值为“ENABLED”时,表示这个表示压缩的,COMPRESS_FOR列表示压缩的方法,当COMPRESS_FOR列=OLTP,表示采用OLTP压缩方法,当为basic是,采用的是基本的压缩方法。
2. 表分区的创建与管理
2.1 如何创建基于日期的表范围分区
若要创建的表属于大型表,而且经常按照日期进行统计和查询,那么,如何创建分区表呢?当用户的统计和查询都经常按照表的某个日期进行,那么可以考虑用oracle的范围分区,而范围分区的子句是partition
by range,比如
create table sales_range (salesman_id number(5),sales_name
varchar2(30),sales_amount number(10),sales_date date) partition by
range(sales_date)
(partition sales_Jan2014
values less than (TO_DATE('01/02/2000','DD/MM/YYYY'))
tablespace users,
partition sales_Feb2014
values less than (TO_DATE('01/03/2000','DD/MM/YYYY'))
tablespace users);
注意:
partition sales_Jan2014是分区的名称,如果省略,则系统以sys_pnnnn命名
2.2 如何创建列表的分区表
oracle的列表分区是针对那些列可以枚举的情况,比如中国省级名称、直辖市等。可以用create
table语句的partition by list实现。
create table sales(area_name varchar(14),bj_date date default
sysdate,order_tot number(10)) partition by list(area_name)
(partition beijing values('Beijing') tablespace users pctfree
5,
partition shanghai values('Shanghai')
tablespace users pctfree 5,
partition shenzhen values('Shenzhen')
tablespace users pctfree 5);
2.3 如何对分区表进行有效性检查
当你的应用系统采用分区方法对表结构设计时,可能遇到某些分区表出现无效现象,可以通过.../rdbms/admin目录下存储的脚本utlvalid.sql脚本实行有效性检查。
idle> @$ORACLE_HOME/rdbms/admin/utlvalid.sql;
Table created.
Elapsed: 00:00:00.42
idle>
idle> desc invalid_rows;
Name Null? Type
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------
--------------------------------------------------------------------------------------------------------------------
OWNER_NAME VARCHAR2(30)
TABLE_NAME VARCHAR2(30)
PARTITION_NAME
VARCHAR2(30)
SUBPARTITION_NAME VARCHAR2(30)
HEAD_ROWID ROWID
ANALYZE_TIMESTAMP DATE
idle>
idle> analyze table scott.sales partition(beijing) validate
structure;
Table analyzed.
Elapsed: 00:00:00.10
idle>
idle> select * from invalid_rows;
no rows selected
Elapsed: 00:00:00.00
idle>
set verify off
set space 0
set heading off
set feedback off
set pages 1000
set linesize 150
spool analyze_part.sql
idle> select 'analyze table ' || table_name || ' validate
structure into invalid_rows;' from dba_tables where owner='SYS' and
partitioned='YES';
analyze table WRH$_FILESTATXS validate structure into
invalid_rows;
analyze table WRH$_SQLSTAT validate structure into
invalid_rows;
analyze table WRH$_SYSTEM_EVENT validate structure into
invalid_rows;
analyze table WRH$_WAITSTAT validate structure into
invalid_rows;
analyze table WRH$_LATCH validate structure into
invalid_rows;
analyze table WRH$_LATCH_CHILDREN validate structure into
invalid_rows;
analyze table WRH$_LATCH_PARENT validate structure into
invalid_rows;
analyze table WRH$_LATCH_MISSES_SUMMARY validate structure into
invalid_rows;
analyze table WRH$_EVENT_HISTOGRAM validate structure into
invalid_rows;
analyze table WRH$_DB_CACHE_ADVICE validate structure into
invalid_rows;
analyze table WRH$_ROWCACHE_SUMMARY validate structure into
invalid_rows;
analyze table WRH$_SGASTAT validate structure into
invalid_rows;
analyze table WRH$_SYSSTAT validate structure into
invalid_rows;
analyze table WRH$_SYS_TIME_MODEL validate structure into
invalid_rows;
analyze table WRH$_OSSTAT validate structure into
invalid_rows;
analyze table WRH$_PARAMETER validate structure into
invalid_rows;
analyze table WRH$_SEG_STAT validate structure into
invalid_rows;
analyze table WRH$_DLM_MISC validate structure into
invalid_rows;
analyze table WRH$_INST_CACHE_TRANSFER validate structure into
invalid_rows;
analyze table WRH$_ACTIVE_SESSION_HISTORY validate structure into
invalid_rows;
analyze table WRH$_TABLESPACE_STAT validate structure into
invalid_rows;
analyze table WRH$_SERVICE_STAT validate structure into
invalid_rows;
analyze table WRH$_SERVICE_WAIT_CLASS validate structure into
invalid_rows;
analyze table WRH$_INTERCONNECT_PINGS validate structure into
invalid_rows;
analyze table STREAMS$_APPLY_SPILL_MSGS_PART validate structure
into invalid_rows;
Elapsed: 00:00:00.08
spool off
2.4 如何检查表分区设计存在的缺陷
Oracle系统的分区方法比较灵活,比如,可以指定分区名称,也可以不指定;可以指定默认情况的max值,也可以省略。这样一来,许多缺乏经验的设计者可能会遗漏某些关键选项,比如,缺少默认的值的maxvalue等。
oracle系统在USER_tab_partitions数据字典中,HIGH_VALUE列用于分区表的最高值的描述,当HIGH_VALUE列的值为“MAXVALUE”时,表示分区表存在问题,比如
select * from user_tab_partitions;
2.5 如何查询到无效的索引分区
当表采用分区方法创建之后,分区表的维护变得非常敏感。比如对分区表进行删除后,会导致索引不可用,oracle系统在ind_partitions数据字典中,status列用于比哦是当前索引的状态,当status为“unusable”时,表示相关的索引无效。查询和解决无效的分区索引方法如下:
alter table sales_data truncate partition sales_1999_h2;
select partition_name,status from
user_ind_partitins where index_name='PROD_ID_IND';
2.6 怎么知道表与索引在同一个表空间中
采用下面脚本,可查询HR用户表/索引使用同一个表空间问题
col index_name for a30
col owner for a20
idle> select owner,index_name,tablespace_name from
dba_indexes where owner='HR' and tablespace_name in (select
tablespace_name from dba_tables where owner='HR');
HR COUNTRY_C_ID_PK
USERS
HR REG_ID_PK
USERS
HR LOC_ID_PK
USERS
HR DEPT_ID_PK
USERS
HR JOB_ID_PK
USERS
HR EMP_EMAIL_UK
USERS
HR EMP_EMP_ID_PK
USERS
HR JHIST_EMP_ID_ST_DATE_PK
USERS
HR EMP_DEPARTMENT_IX
USERS
HR EMP_JOB_IX
USERS
HR EMP_MANAGER_IX
USERS
HR EMP_NAME_IX
USERS
HR DEPT_LOCATION_IX
USERS
HR JHIST_JOB_IX
USERS
HR JHIST_EMPLOYEE_IX
USERS
HR JHIST_DEPARTMENT_IX
USERS
HR LOC_CITY_IX
USERS
HR LOC_STATE_PROVINCE_IX
USERS
HR LOC_COUNTRY_IX
USERS
HR CUST_NAME_I
USERS
HR CREDITRATING_I
USERS
Elapsed: 00:00:01.00
idle>
3 索引分区的创建与管理
3.1 何时将表创建IOT
IOT是oracle系统支持的索引结构表,IOT的内部结构是将表的数据行和索引数据项存储在一个块内。这样,可以直接查询该数据的行数据,而不必先查询所以获取rowid在读取表的相关块。
要创建IOT表,这个表必须是某个列定义为主键,这样才能使用ORGANIZATION 子句指定该表为IOT表。
下面的例子ZIPREFERENCES表的ZIPCODE列描述为主键,然后加"ORGANAIZATION"
子句加以完成IOT的定义。
scott@ORCL> create table
zipreferences (zipcode varchar2(10) not null,city varchar(40) not
null,state varchar2(10) not null,province varchar2(10) not
null,country varchar2(20) not null, constraint zip_pk primary
key(zipcode)) organization index tablespace users pctthreshold 20
overflow tablespace users storage(initial 2m next 1m maxextents 50
pctincrease 0);
Table created.
Elapsed: 00:00:00.16
scott@ORCL>
3.2 如何对IOT进行分区
若对IOT对象进行分区创建,必须是oracle 10gR2及以上版本,可以采用create
table加子句完成分区表的创建
create table doc_index(token char(20),doc_id
number,token_frequency number,token_offsets
varchar2(512),constraint pk_docindex6 primary key(token,doc_id))
organization index initrans 4 compress 1 including token_frequency
overflow initrans 6 partition by range(token) (partition p1 values
less than('j') tablespace users overflow tablespace users,partition
p2 values less than('s') tablespace users nocompress overflow users
partition p3 values less than(maxvalue) tablespace users overflow
tablespace users);
create table orders(id number,odate date,notes
varchar2(1000),primary key(id,odate)) organization index including
odate overflow tablespace users partition by range(odate)
(partition p1 values less than('01-JUN-1998') tablespace users
overflow tablespace users,partition p2 values less
than('01-JAN-1999''));
3.3 如何创建索引局部分区
--创建表
create table dept(deptno number(2),dept_name varchar2(30))
partition by range(deptno)(partition d1 values less than(10)
tablespace users,partition d2 values less than(20) tablespace
users,partition d3 values less than(maxvalue) tablespace
users);
--向表插入部分数据
insert into dept values(1,'dept 1');
insert into dept values(7,'dept 7');
insert into dept values(10,'dept 10');
insert into dept values(15,'dept 15');
insert into dept values(22,'dept 22');
create index dept_index on dept(deptno) local(partition d1
tablespace users,partition d2 tablespace users,partition d3
tablespace users);
3.4 如何创建索引全局分区
--创建分区表结构
create index cost_ix on sales(amount_sold) global partition by
range(amount_sold)(partition p1 values less than(1000),partition p2
values less than(2500),partition p3 values less
than(maxvalues));
--创建全局索引分区;
create index company_id_ix on customers(company_id) global
partition by hash(company_id) partition 4;
4 创建oracle lob表与维护
4.1 如何创建合理的blob类的表结构
oracle用create table中lob子句带compress子句实现对lob型的压缩,此外,还要描述storage
as等子句。
--下面语句创建一个blob表:
scott@ORCL> create table
some_docs(doc_id number not null,crc32 varchar2(8) not null,image
blob not null)tablespace users pctfree 10 pctused 40
storage(initial 1m next 1m pctincrease 0)lob (image) store as
smedoc_blobseg(tablespace users storage(initial 100m next 100m
pctincrease 0) disable storage in row chunk 32768 pctversion 10
index somedoc_blobseg_idx nocache nologging);
Table created.
Elapsed: 00:00:00.31
scott@ORCL>
4.2如何获取lob端的信息
如果创建带有blob/clob类型的表结构,希望了解blob/clob存储信息,可以查询dba_lobs数据字典
sys@ORCL> desc dba_lobs
Name Null? Type
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------
--------------------------------------------------------------------------------------------------------------------
OWNER VARCHAR2(30)
TABLE_NAME VARCHAR2(30)
COLUMN_NAME VARCHAR2(4000)
SEGMENT_NAME VARCHAR2(30)
TABLESPACE_NAME VARCHAR2(30)
INDEX_NAME VARCHAR2(30)
CHUNK NUMBER
PCTVERSION NUMBER
RETENTION NUMBER
FREEPOOLS NUMBER
CACHE VARCHAR2(10)
LOGGING VARCHAR2(7)
ENCRYPT VARCHAR2(4)
COMPRESSION VARCHAR2(6)
DEDUPLICATION VARCHAR2(15)
IN_ROW
VARCHAR2(3)
FORMAT
VARCHAR2(15)
PARTITIONED VARCHAR2(3)
SECUREFILE VARCHAR2(3)
SEGMENT_CREATED VARCHAR2(3)
sys@ORCL> select
table_name,segment_name,index_name from dba_lobs where
table_name='SOME_DOCS' order by table_name;
TABLE_NAME SEGMENT_NAME INDEX_NAME
------------------------------------------------------------
------------------------------------------------------------
------------------------------------------------------------
SOME_DOCS SMEDOC_BLOBSEG SOMEDOC_BLOBSEG_IDX
1 row selected.
Elapsed: 00:00:00.08
sys@ORCL>
4.3 如何创建securefile表结构
从oracle
11g开始,oracle新增加了安全文件(SecureFile) ,它比原来的基本文件(BaseFile)提供了更安全的功能。默认情况下,oracle
12c版本与安全文件相关的参数db_securefile为preferred,表示在创建lob表时允许创建SecureFile。这样,我们在创建Blob/Clob时指定SecureFile即可。
show user
set trimspool on
set line 123
sys@ORCL> create table
emp_pic(emp_no varchar2(20),pic blob) tablespace users;
Table created.
Elapsed: 00:00:00.38
sys@ORCL>
show parameter db_securefile;
sys@ORCL> show parameter
db_securefile;
NAME TYPE VALUE
------------------------------------ ----------------------
------------------------------
db_securefile string PERMITTED
sys@ORCL>
sys@ORCL> select
table_name,segment_name,index_name,securefile from dba_lobs where
table_name='EMP_PIC';
TABLE_NAME SEGMENT_NAME INDEX_NAME SECURE
------------------------------------------------------------
------------------------------------------------------------
------------------------------------------------------------
------
EMP_PIC
SYS_LOB0000013569C00002$$ SYS_IL0000013569C00002$$ NO
1 row selected.
Elapsed: 00:00:00.15
sys@ORCL>
sys@ORCL> select
segment_name,segment_type,segment_subtype from dba_segments where
segment_name='EMP_PIC';
SEGMENT_NAME SEGMENT_TYPE
SEGMENT_SUBTYPE
------------------------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------ --------------------
EMP_PIC
TABLE MSSM
1 row selected.
Elapsed: 00:00:00.09
sys@ORCL>
4.4 如何对SecureFile进行压缩
oracle用create table中LOB子句带compress子句实现对lob型的压缩
create table secfile_table(rid number(5),bcol blob) lob(bcol)
store as securefile compr_lob(tablespace users
retention min 3600 compress encrypt cache reads) tablespace
users;
ilm 和dlm差异_第八章 大数据对象设计与维护相关推荐
- ilm 和dlm差异_《存储e周刊》第28期 信息生命周期管理之争
说二月份的最后一周是ILM之周,完全是因为EMC在华推出了其历史上最广泛的分级存储平台组合,跨高端.中端.网络附加存储(NAS)与内容寻址存储(CAS)的全部系列,希望以此帮助客户实现信息在整个生命周 ...
- ilm 和dlm差异_差异表达基因的几种筛选方法
710033) 收稿日期 : 2006 2 09 2 12 ; 接受日期 : 2006 2 10 2 11 基金项目 : 国家自然科学基金 ( 30271281; 30170923 ) 通讯作者 : ...
- ilm 和dlm差异_电力通信系统--加密芯片.pdf
电力通信系统--加密芯片 1 芯片结构 FD/TD/VD NVM ILM_RAM DLM_RAM AHB_RAM2 WDT (548KB) (16KB) (24KB) (256B) EMPU TIME ...
- ilm 和dlm差异_差异表达基因的几种筛选方法.pdf
差异表达基因的几种筛选方法 286 第四军医大学学报( J Fourth M ilMedU iv) 2007, 28( 3) http: / /jour al. mf mu. edu. c # 综述# ...
- 6、处理大数据对象(CLOB 数据小说+BLOG 数据图片,电影,音乐)
大数据对象处理主要有 CLOB(character large object)和 BLOB(binary large object)两种类型的字段 第一节:处理 CLOB 数据 在 CLOB中可以存储 ...
- 阿里P8架构师谈:大数据架构设计(文章合集)
架构师进阶有一块很重要的内容,就是需要掌握大数据的架构设计,主要涵括: MySQL等关系式数据库,需要掌握数据库的索引.慢SQL.以及长事务的优化等. 需要掌握非关系式数据库(NoSQL)的选型,以及 ...
- 大数据课程设计(一)二手房数据挖掘可视化
大数据课程设计(一)二手房数据挖掘可视化 selenium爬虫.pyecharts可视化.HTML+CSS+Echarts大屏.配套论文.配套教程视频. 项目要求: 项目包含: 该压缩包含视频讲解和项 ...
- B端大屏可视化设计参考网站分享、大数据可视化设计
B端大屏可视化设计参考网站分享.大数据可视化设计 大屏可视化参考网站: 1. 易知微 https://easyv.cloud/market 浅色风格的大屏可视化可以参考此网站的设计 2. 数字像素(原 ...
- 《大数据算法》一1.3 大数据算法设计与分析
本节书摘来华章计算机<大数据算法>一书中的第1章 ,第1.3节,王宏志 编著, 更多章节内容可以访问云栖社区"华章计算机"公众号查看. 1.3 大数据算法设计与分析 本 ...
最新文章
- Java 时间和日期类型的 Hibernate 映射
- 微软全部正版软件下载地址和序列号索取
- linux 农业分析,基于嵌入式Linux的农业信息采集系统设计与研究
- image vb6 图片自适应_请问如何实现图片在窗体上的大小自适应?
- Android View 的滑动
- 信息学奥赛一本通C++语言——1055:判断闰年
- geotools 读取shp属性过滤_Flink进阶之使用布隆过滤器实现UV统计
- js 正则验证数字和小数
- 关于《ASP.NET MVC企业级实战》
- hdu 2255+hdu 3395
- 解决算法问题的思路 —— 从问题描述到数学表达
- 好程序员技术分析JavaScript闭包特性详解
- Android NDK开发之 NDK 局部 全局引用
- Hive基本操作入门
- android 的NDK在Windwos环境搭建(一)
- 复化梯形公式求二重积分matlab源码
- 《土豆荣耀》重构笔记(七)控制角色移动并添加音效
- 徐州2018年大学计算机比赛,2018年第四届徐州市中小学生学科综合能力大赛获奖名单!权威发布!【五年级】...
- Python(4)print一个10行10列的星星图案
- Mining Spatio-Temporal Reachable Regions over Massive Trajectory Data
热门文章
- 解决浏览器驱动和浏览器版本不匹配的报错:This version of ChromeDriver only supports Chrome version 97
- 解决导入maven项目之后pom.xml中的project标签报错:批量删除没有下载完全的pom依赖bat脚本
- 天翼云服务器硬盘怎么挂载,天翼云主机云磁盘管理(一)
- 洲际酒店优悦会精英会籍延长12个月;美素佳儿合作京东超市力保宝宝口粮 | 美通企业日报...
- Probability and Stochastic Models(1) —— 研一新课学习笔记
- Fault Description Based Attribute Transfer for Zero-Sample Industrial Fault Diagnosis
- knex 找不到mysql_转义knex mysql查询语句
- 将一个文字的大集合按照第一个文字的首字母进行切分
- 写论文有哪些神网站?
- 3D动画效果照片墙demo