我正在尝试优化具有220,000行的相对较大的mysql(myisam)表。桌子本身不是很大-大约23.5MB。那么,真正的问题是什么?-我得到这样的查询:
SELECT * FROM table WHERE DATE_FORMAT(date_field, '%m%d') = '1128' LIMIT 10
Run Code Online (Sandbox Code Playgroud)
我试图在date_field上设置一个索引,但EXPLAIN显示该索引根本没有使用...我猜这并不奇怪,因为DATE_FORMAT()。因此,我计划添加另一列,将日期保留为'%m%d'并在其上放置一个索引。我不想这样做的唯一原因是因为数据重复。
顺便说一句,我使用date_field是生日日期字段,并且我确定我总是需要date_field为%Y-%m-%d或只是%m%d
您是否对上面的查询如何优化有更好的建议?提前致谢 !!!
一些信息:
MySQL版本:5.0.51b-log
操作系统:slackware 12.1
CPU:Pentium III(Coppermine)at 996.783Mhz
RAM:512MB DDR
HDD:80GB SATA
PS我试图添加另一列,将日期保存为%m%d。结果非常好,但我仍然不喜欢这种方法。我正在等待更多建议!
我在VB.NET中使用Rich TextBox并传递给StringBuilder.我需要用空格或逗号替换TextBox中的New Line字符.问题是在这种情况下,新行的标准代码似乎没有获取此新行字符.Rich TextBoxes中是否使用了特定字符作为新行?任何帮助或建议将不胜感激.
我不确定这个有效的C#,但希望你能得到这个想法.:)
switch (msg.GetType()) {
case ClassA:
// blah
case ClassB:
// blah 2
case ClassC:
// blah 3
}
Run Code Online (Sandbox Code Playgroud)
我如何使用VB.NET打开对象的类型Select Case?
我知道有些人可能会建议使用多态,但我使用的是小型消息类的层次结构,所以在我的情况下真的不行.
我想使用WM_MOUSEMOVE消息移动鼠标.但我不知道如何设置lparam值?
请指导完成此任务.
我对我的Mac OS X终端和我的Django manage.pyshell和pdb 的一些行为感到困惑.
当我启动一个新终端时,标准输入显示为我输入.但是,如果出现错误,屏幕上不会突然显示标准输入.此错误一直持续到我关闭该终端窗口为止.
输入仍然被捕获,因为我可以看到标准输出.
例如,pdb.set_trace()我无法在代码中显示我所在的位置.但是,'l'不会显示,只是空提示.
这使得调试变得困难,因为我无法确定我输入的内容.
可能出现什么问题,我该怎么做才能解决它?
假设我有一个收集名字和姓氏的表格:
$first_name = new Zend_Form_Element_Text('first_name');
$first_name->setLabel("First Name")
->setRequired(true);
$last_name = new Zend_Form_Element_Text('last_name');
$last_name->setLabel("Last Name")
->setRequired(true);
$form = new Zend_Form();
$form->addElement($first_name)
->addElement($last_name)
Run Code Online (Sandbox Code Playgroud)
如果我想在表单上使用"populate($ data)"或"setDefaults($ data)"方法,那么数组是如何组织的呢?这些函数期望什么样的数组?我无法在文档中找到此信息.
另外,我知道我可以在创建元素时设置值,但这不是我需要的.
"scala"包有许多名为Product,Product1,Product2等的类,直到Product22.
这些类的描述肯定是准确的.例如:
Product4 is a cartesian product of 4 components
Run Code Online (Sandbox Code Playgroud)
准确,是的.交际?没那么多.我希望这对于已经理解在这里使用的"笛卡儿产品"感的人来说是完美的措辞.对于没有的人来说,这听起来有点循环."哦,是的,还有当然产品4是喃喃的4个产品咕哝,喃喃自语."
请帮助我理解正确的功能语言观点.这里使用的"笛卡尔积"是什么意思?产品类的"投影"成员表示什么?
我需要客户端(使用javascript)使其拥有的页面无效并基本上获取新版本?
我以为我可以使用标题来完成所有操作:使缓存的内容无效,If-Modified Headers?
如果没有办法让浏览器刷新当前的缓存版本,而没有发出新的请求(通过新的URL)......那么可以使用相同的原始URL请求来查看更新的内容?
为了制作二进制比较器,我试图使用CreateFileW函数读取两个文件的二进制内容.但是,这会导致整个文件被缓冲到内存中,这对于大型(500MB)文件来说就成了问题.
我已经四处查找了其他函数,它们只是让我只是缓冲部分文件,但是我没有找到任何文档专门说明缓冲区如何为这些函数工作(我有点新,所以也许我我错过了明显的事情.
到目前为止,我似乎找到的最佳匹配是ReadFile.它似乎有一个可定义的缓冲区,但我不完全确定在幕后不会有另外的缓冲区,就像CreateFileW一样.
你们对什么是好的功能有任何意见吗?
php ×2
vb.net ×2
browser ×1
buffer ×1
c++ ×1
caching ×1
date-format ×1
delphi ×1
django ×1
file-io ×1
forms ×1
header ×1
iphone ×1
javascript ×1
macos ×1
mysql ×1
objective-c ×1
optimization ×1
python ×1
richtextbox ×1
scala ×1
select-case ×1
shell ×1
terminal ×1
tint ×1
uikit ×1
winapi ×1