- 博客(11)
- 资源 (2)
- 收藏
- 关注
原创 c++map键值为对象指针的应用
1.map指针key std::map键值为指针变量的应用: template<class T> class less { bool operator()(const T& t1, const T& t2) const { return t1->operator<(*t2); } }; ...
2020-08-10 14:06:56
1877
原创 c/c++ 跨平台日志格式化简化版
//cb_log(0, "chenbo", "err", 0, 0, "%d %d", 0, 0); #ifdef WIN32 #define cb_time(timebuf,timebuflen) {SYSTEMTIME t; GetLocalTime(&t); \ cb_sprintf(timebuf, timebuflen, "%04d-%02d-%02d %02d:%02d:%02d,%03d", t.wYear,t.wMonth,t.wDay,t.wHour,t.wMinute,t...
2020-08-10 13:55:07
159
原创 日历
(1)每个月的日期 const long dayarr[12] = {31,28/29,31,30,31,30,31,31,30,31,30,31}; (2)确定闰年 isleapyear --> (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0)) (3)确定最大天数 ((month-- == 2
2014-02-23 15:34:40
442
转载 sql查询速度慢分析2
21、用select top 100 / 10 Percent 来限制用户返回的行数或者SET ROWCOUNT来限制操作的行 22、在SQL2000以前,一般不要用如下的字句 “IS NULL", " ", "!=", "!> ", "! ", "NOT", "NOT EXISTS", "NOT IN", "NO
2014-02-21 10:35:20
479
转载 sql查询速度慢的原因
查询速度慢的原因: 1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2、I/O吞吐量小,形成了瓶颈效应。 3、没有创建计算列导致查询不优化。 4、内存不足 5、网络速度慢 6、查询出的数据量过大(可以采用多次查询,其他的方法降低数据量) 7、锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷)
2014-02-21 10:34:41
453
转载 处理百万级以上的数据提高查询速度的方法1
1.应尽量避免在 where 子句中使用!=或操作符,否则将引擎放弃使用索引而进行全表扫描。 2.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 3.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num
2014-02-21 10:32:38
985
转载 SQL语句优化--1
性能不理想的系统中除了一部分是因为应用程序的负载确实超过了服务器的实际处理能力外,更多的是因为系统存在大量的SQL语句需要优化。 为了获得稳定的执行性能,SQL语句越简单越好。对复杂的SQL语句,要设法对之进行简化 常见的简化规则如下: 1)不要有超过5个以上的表连接(JOIN) 2)考虑使用临时表或表变量存放中间结果。 3)少用子查询 4)视图嵌套不要过深,一般视图嵌套不要超过
2014-02-20 20:28:14
372
原创 SQL 另类查询 select 1 from table
select 1 from table select anycol(目的表集合中的任意一行)from table select * from table 从作用上来说是没有差别的,都是查看是否有记录,一般是作条件查询用的。 select 1 from 中的1是一常量(可以为任意数值),查到的所有行的值都是它。 从效率上来说,1>anycol>*,因为不用查字典表。
2014-01-20 11:00:49
489
转载 vector erase
vector容器中删除元素需要注意几个新手问题 《1》erase后,end位置发生变化 《2》erase返回其下一个元素 原则: 1.如果只删除其中一个元素,那么可以erase后return,不会有问题 2.如果删除多个元素: for(vector::iterator iter=veci.begin(); iter!=veci.end(); ) { if(*iter ==
2014-01-16 12:06:41
587
转载 C++ boost智能指针详解
一、简介 由于 C++ 语言没有自动内存回收机制,程序员每次 new 出来的内存都要手动 delete。程序员忘记 delete,流程太复杂,最终导致没有 delete,异常导致程序过早退出,没有执行delete 的情况并不罕见。 用智能指针便可以有效缓解这类问题,本文主要讲解参见的智能指针的用法。包括:std::auto_ptr、boost::scoped_ptr、boost::shared
2013-12-27 15:18:30
906
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人