Category - DB

SqlServer 统计 DB    2017-07-19 22:10:19    5
一、正常的时间格式

SELECT StartTime,CONVERT(datetime,case when datepart(mi,StartTime)<30 then CONVERT(varchar(100), StartTime, 23)+ ' ' +datename(hh,StartTime)+':00:00' else CONVERT(varchar(100), StartTime, 23)+ ' ' +datename(hh,StartTime)+':30:00' end) as HourPart 
   FROM
   WGS_MainCDR_201401
   TEMP
   GROUP BY StartTime,CONVERT(datetime,case when datepart(mi,StartTime)<30 then CONVERT(varchar(100), StartTime, 23)+ ' ' +datename(hh,StartTime)+':00:00' else CONVERT(varchar(100), StartTime, 23)+ ' ' +datename(hh,StartTime)+':30:00' end)
   
    结果如下:
   StartTime                           HourPart
2014-01-16 01:59:25.203 2014-01-16 01:30:00.000
2014-01-16 01:59:30.627 2014-01-16 01:30:00.000
2014-01-16 01:59:35.297 2014-01-16 01:30:00.000
2014-01-16 01:59:46.063 2014-01-16 01:30:00.000
2014-01-16 02:00:15.327 2014-01-16 02:00:00.000
2014-01-16 02:00:19.157 2014-01-16 02:00:00.000
2014-01-16 02:27:46.327 2014-01-16 02:00:00.000
2014-01-16 02:28:46.327 2014-01-16 02:00:00.000
2014-01-16 02:39:31.000 2014-01-16
mysql mariadb    2017-07-19 21:58:12    3
use information_schema;

select table_name,table_rows from tables 
where TABLE_SCHEMA = 'db_name' and table_name='table_name' order by table_rows desc;
 
 

 

by 刘迎光@萤火虫工作室
OpenBI交流群:495266201
MicroService 微服务交流群:217722918
mail: liuyg#liuyingguang.cn
博主首页(防止爬虫):http://blog.liuyingguang.cn
OpenBI问答社区:http://openbi.liuyingguang.cn/

2017-07-19 21:44:47    13
+++++++ 20160404 begin+++++++
maven环境:
<dependency>
	<groupId>org.mongodb</groupId>
	<artifactId>mongodb-driver</artifactId>
	<version>3.2.2</version>
</dependency>

+++++++ 20160404 end+++++++

 
import java.util.ArrayList;
import java.util.List;

import org.bson.Document;

import com.mongodb.MongoClient;
import com.mongodb.MongoCredential;
import com.mongodb.ServerAddress;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.model.Filters;

public class TestMongo {
    public static void main(String[] args) {
        MongoClient client = null;
        ServerAddress serverAddress = new ServerAddress("115.28.246.12",
                27017);
        List<ServerAddress> seeds = new ArrayList<ServerAddress>();
        seeds.add(serverAddress);
        MongoCredential credentials = MongoCredential
                .createScramSha1Credential("admin", "admin",
                        "abc123,admin".toCharArray());
        List<MongoCredential>
java mongodb exception    2017-07-19 21:43:42    3
分析:
    参考地址:https://github.com/brianfrankcooper/YCSB/issues/277
    应该是官方的update策略有变化,3.0以前,使用updateOne,3.0以后使用replaceOne
解决办法:
    将updateOne替换为replaceOne即可

完整错误栈:

java.lang.IllegalArgumentException: Invalid BSON field name _id
    at org.bson.AbstractBsonWriter.writeName(AbstractBsonWriter.java:494) ~[bson-3.2.2.jar:na]
    at org.bson.codecs.DocumentCodec.writeMap(DocumentCodec.java:188) ~[bson-3.2.2.jar:na]
    at org.bson.codecs.DocumentCodec.encode(DocumentCodec.java:131) ~[bson-3.2.2.jar:na]
    at org.bson.codecs.DocumentCodec.encode(DocumentCodec.java:45) ~[bson-3.2.2.jar:na]
    at org.bson.codecs.BsonDocumentWrapperCodec.encode(BsonDocumentWrapperCodec.java:63) ~[bson-3.2.2.jar:na]
    at org.bson.codecs.BsonDocumentWrapperCodec.encode(BsonDocumentWrapperCodec.java:29) ~[bson-3.2.2.jar:na]
    at com.mongodb.connection.UpdateCommandMessage.writeTheWrites(UpdateCommandMessage.java:84) ~[mongodb-driver-core-3.2.2.jar:na]
    at com.mongodb.connection.UpdateCommandMessage.writeTheWrites(Upd
DB MySQL 优化 索引    2017-03-26 22:10:18    22

分区表

建议:
1. 如果要进行分区的表有主键或者唯一键,那么分区键必须包含这个主键或唯一键,否则无法创建分区表
2.

索引

  1. 最适合索引的列是出现在where子句中的列,或者连接子句中指定的列
  2. 使用唯一索引:索引的列的基数越大,索引的效果就越好。如只包含M和F,则索引效果不大
  3. 使用短索引:如果对字符串列进行索引,应该制定一个前缀长度(如果前缀长度范围内,多数值是唯一的)
  4. 不要过度索引:索引都需要占用磁盘空间,会降低写性能,会降低修改的性能(修改表内容时,索引必须进行更新,有时可能需要重构)
  5. 5.

配置文件

  1. 慢查询日志
  2. 使用缓存查询,当表更改(结构和数据)后,查询缓存值的相关条目会被清空
  1. have_query_cache 是否已配置高速缓存(默认为true
  2. query_cache_size 缓存区大小,单位MB,如:16M
  3. query_cache_type 变量值从0~2
  4. 0或者off(缓存关闭)
  5. 1on(缓存打开,使用SQL_NO_CACHE提示的SELECT除外)
  6. 2或者demand(只有带SQL_CACHEselect语句提供高速缓存)
  7. query_cache_limit 单个查询能够使用的缓存大小,默认1M

InnoDB内存优化

  1. innodb_buffer_pool_size

    InnoDB 存储引擎表数据和索引数据的最大缓存区大小(同时为数据块和索引块提供数据缓存),此值越大,缓存命中率就越高,访问InnoDB表需要的磁盘IO就越少,性能就越高。在一个专用的数据库服务器上,可以将80%的物理内存分配给innodb_buffer_pool_size,但是不要太大,以免造成页交换

  2. innodb_buffer_pool_instances

    默认值是1,表示InnoDB缓存池被划分到一个区域。适当地增加该参数(例如将该参数值设置为2),此时InnoDB被划分成为两个区域,可以提升InnoDB的并发性能。如果InnoDB缓存池被划分成多个区域,建议每个区域不小

5/6