- 浏览: 21289 次
- 性别:
- 来自: 北京
最新评论
文章列表
field1 field2 A 1 A 2 A 3
用一条sql语句查询成: field1 all A 1,2,3,
create table g_concat
(
id int(11) not null auto_increment,
field1 varchar(20),
field2 varchar(20),
PRIMARY key(id)
)
INSERT into g_concat(field1,field2,costomerid)
VALUES
('1','2',' ...
sql以字段重新创建表
- 博客分类:
- SQL百练
有report表:它里面 id name state customerid 四个字段,id为主键 ,customerid为外键
state 0, 1,2 // 未使用 更新 删除
根据customerid写一条sql (注意是一条)生成表的结构如下:
customerid state0 state1 state2
001 11 212 333
002 15 545 3
实际上把它看作:select costomerid,count() as status_0,...
from report
...
最快的方法从list中取指定的值
List<String> list = new ArrayList<String>();
list.add("aa"); list.add("bb"); list.add("cc"); list.add("dd");
. . 假设我不知道list中各个值的下标,在这种情况下用最快的方法,取出“cc”。
ArrayList是一个顺序存储的数据结构,只能顺序存储吧,查询数据也就只能用顺序遍历。。。。
...
java的静态与动态代理
- 博客分类:
- java基础知识
采用Java代理模式,代理类通过调用委托类对象的方法,来提供特定的服务。委托类需要实现一个业务接口,代理类返回委托类的实例接口对象。
按照代理类的创建时期,可以分为:静态代理和动态代理。
所谓静态代理: 指程序员创建好代理类,编译时直接生成代理类的字节码文件。
所谓动态代理: 在程序运行时,通过反射机制动态生成代理类。
package www.ibm.delegate;
/*
* 定义一个服务接口
*/
public interface Service
{
/**
* 查询日期
*/
public String qu ...
有一张表t_stu;其中三个字段:name,gender,grade;要求用一条sql语句查出男生前5名和女生前五名。
create table t_stu
(
id int(11),
name varchar(20),
gender int(2),
grade int(12)
)
insert into t_stu values
(1,'Alex',1,91),
(2,'Elena',0,92),
(3,'Alex2',1,81),
(4,'Elena2',0,82),
(5,'Alex3',1,71),
( ...
参数List size过大查询,如何提高效率
- 博客分类:
- SQL百练
参数 list 里面装了1000+的 id (字段有索引) 然后根据这个list去数据库(oracle)中查询,如何提高效率呢??
数据库新建临时表,查询前插入,使用表关联查询,查询完成后清除临时表数据.其中临时表可以使用数据库自动的事务 ...
有下面一组数据,数据量大概有1000条左右,如何在时间复杂度是O(n)的前提下,实现分组 例如: 1 234 1 sds 2 sdsdsd 2 wwwwwww 1 ssassassww 4 sdsaass 5 234 1 skskks ..... 结果: 1 [234,sds,ssassassww,skskks] 5 [234] 2 [sds,sdsdsd] 4 [sdsaass]
package littlejava;
import java.util.ArrayList;
import java.util.List;
/*
* 有下面一组数据,数据量大概有1000 ...
查询重复记录和删除重复记录
- 博客分类:
- SQL百练
查询重复记录和删除重复记录
CREATE table ts
(
id int(11) not null UNIQUE,
pcode int(11) default NULL,
cno varchar(20) default null,
count1 int(11) default null
)
INSERT INTO `ts` VALUES ('1', '1', ' 001', '10000');
INSERT INTO `ts` VALUES ('2', '1', ' 002', '5000');
INSERT INTO `ts` ...
数据库中其中的一个表删除数据的时候特别慢
- 博客分类:
- SQL百练
表中一共只有2000多条数据,我的删除语句是delete from jx1114 where xnxqh='2011-2012-2'
这个删除只要删除80多条数据,但是却执行了将近3分钟的时间,这张表引用了其他一个表的主键作为外键。
删除表记录非常慢有好几个原因:
1.机器性能问题,cpu被其他进程占用。这种方式最好解决,在进程管理器中关掉几个进程,释放出cpu用于处理删除记录操作;
2.sql语句本身优化,使用exists或者not exists比用“=”来的快;
3.表的关联关系影响了删除的速度。如果目标表和其它表建立了关联关系过多也会造成处理效率下降问题。如 ...
生成四个随机号码
- 博客分类:
- littlejava
一次生成四个随机号码,12位,可以字母和数字的组合,不能有规律,一年内不能重复。要考虑并发。有没有不去对比以前的,生成后就保证不重复。
public class RandomUuid
{
public static void main(String []args)
{
String uuid = java.util.UUID.randomUUID().toString();
String s = uuid.toString().replaceAll("-", "").substring(0, 12);
Syste ...
转自:http://gaojiewyh.iteye.com/blog/411889
单例模式,它用以确保一个特定的类只有一个对象被实例化。它包含两种类型,有些书上叫singleton模式和Double—Checked Locking模式。
单例模式注意问题:
1、拥有一个特定的方法,这个方法被用于实例化需要的对象。当该方法被调用的时候,它检查这个对象是否被实例化。如果已实例化,这个方法仅仅返回这个对象的一个引用。如果对象未被实例化,这个方法将对象实例化并返回这个新的实例的引用。
2、类的构造函数定义为protected或private。
...
----------简译。
源=http://20bits.com/article/interview-questions-database-indexes
-----------问题
解释一下什么是数据库索引,和它的工作原理。
-----------回答
数据库索引是一种辅助数据结构,它能加快数据提取速度。
索引是针对某列数据的,比如查询“列出所有姓Smith的人”会很快。
如果硬盘上有个文本文件,如何从中找出姓Smith的呢?
海量用户积分排名算法探讨
- 博客分类:
- SQL百练
这个问题确实很开放,解决思路一定很多,这个同学总结的很优雅,当然还有更多,更好的。权当参考http://www.cnblogs.com/weidagang2046/archive/2012/03/01/massive-user-ranking.html
问题
某海量用户网站,用户拥有积分,积分可能会在使用过程中随时更新。现在要为该网站设计一种算法,在每次用户登录时显示其当前积分排名。用户最大规模为2亿;积分为非负整数,且小于100万。
PS: 据说这是迅雷的一道面试题,不过问题本身具有很强的真实性,所以本文打算按照真实场景来考虑,而不局限于面试题的理想环境。
存储 ...
sql选出同时符合多个值记录
- 博客分类:
- SQL百练
create table test (NAME varchar(20) not null, HOBBY varchar(20) not null);
insert into test values('Adam','basketball');
insert into test values('Bill','basketball');
insert into test values('Bill','football');
insert into test values('Cyper','basketball');
insert into test v ...
Java中普通方法与静态方法static区别
静态方法可以直接用类名点出来方法,而普通方法需要创建类的对象后才能调用!
静态的方法和变量会调用时在内存生成一个唯一的标示,你可以理解成在物理内存中给静态一个位子,这样的话在调用的时候可以直接找到,而且会节省内存,但是如果你声明的静态过多的话那么每一个都会在内存有一个位子,那么你就没有资源运行别的,会报内存溢出!
普通方法是由java的gc机制来控制,可能同一个对象或变量在使用的过程中,这个时间的在内存占了一个位子,而上个时间的还没有从内存中删除,这样的话就可能有2个一样的在内存中,这个2个一样东西只是内容值一样,但是内存值不一样,你可以用&quo ...