岁月总是愈来愈短 日子也总是愈来愈快 珍惜
MySQL
ROR Client does not support authentication protocol requested by server; consider upgrading MySQL client
三 14th
Status: 500 Internal Server Error Client does not support authentication protocol requested by server; consider upgrading MySQL client
Enter password: *** Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 15756 to server version: 5.0.22-community-nt Type 'help;' or '\h' for help. Type '\c' to 更多 >
FULLTEXT搜索短的查询语句无效 解决方案
六 3rd
例如:
mysql> SELECT COUNT(*) FROM kjv WHERE MATCH(vtext) AGAINST('God');
+----------+
| COUNT(*) |
+----------+
| 0 |
+----------+
mysql> SELECT COUNT(*) FROM kjv WHERE MATCH(vtext) AGAINST('sin');
+----------+
| COUNT(*) |
+----------+
| 0 |
+----------+
搜索引擎会忽略那些太常见的 短语句如 the and 之类的单词都是索引不到的 不信邪 那验证下:
mysql> SELECT COUNT(*) AS 'total verses',
-> COUNT(IF(vtext LIKE '%God%',1,NULL)) AS 更多 > MYSQL 大量文本查询 解决方案-fulltext索引
六 2nd
SELECT * from tbl_name WHERE col1 LIKE 'pat' OR col2 LIKE 'pat' OR col3 LIKE 'pat' ...
当然可以查出结果来 但是基于大数据就熄火了吧 所以的使用FULLTEXT索引
ALTER TABLE kjv ADD FULLTEXT (vtext);
再用 To perform a search using the index, use MATCH( ) to name the indexed column and AGAINST( ) to specify what text to look for. For example, 更多 >
MySQL 计算两个日期或时间的间隔 解决方法
六 1st
1,使用时间函数
计算两个日期之间的间隔,可以使用DATEDIFF()函数
SELECT DATEDIFF('2010-06-01','2010-01-01'),DATEDIFF('2010-01-01','2010-06-01')
151 -151
注意:DATEDIFF函数也可以作用于date-and-time,但是它会忽略时间只显示天数
使用TIMEDIFF()函数计算出两个TIME类型之间的时间间隔
mysql> SELECT TIMEDIFF('12:12:12','11:11:11');
+---------------------------------+
| TIMEDIFF('12:12:12','11:11:11') |
+---------------------------------+
| 01:01:01 |
+---------------------------------+
1 row in set (0.00 sec)
这里我添加一个TIMESTAMPDIFF(UNIT,TIME1,TIME2)函数
mysql> SET @D1 = '1999-09-09 12:11:11', @D2 = '2009-09-09 12:11:11'; Query OK, 0 rows affected (0.00 sec) mysql> SELECT TIMESTAMPDIFF(MINUTE,@D1,@D2), TIMESTAMPDIFF(DAY,@D1,@D2); +-------------------------------+----------------------------+ | TIMESTAMPDIFF(MINUTE,@D1,@D2) | TIMESTAMPDIFF(DAY,@D1,@D2) | +-------------------------------+----------------------------+ 更多 >
mysql “!=” 性能问题
五 31st
昨天**高等教育出版社 说他们服务器 cpu很容易利用到100% 访问速度也很慢 查看了下项目代码 汗
原因找到了Products表 以前在本地调试时 数据库记录也就100条左右 而如今**高等教育出版社Pro有10万条记录 关键部位是product的show页面 功能1,浏览了该商品的会员还浏览了 2,购买了该商品的会员还购买了 这两个功能数据是通过find_by_sql得到的 而里面要命的一句就是 product_id != self.id 这是导致查询变慢的主要原因,所以以后用!=时请注意
Mysql时间函数
五 28th
这里是一个使用日期函数的例子。下面的查询选择了所有记录,其date_col的值是在最后30天以内:
mysql> SELECT something FROM table
WHERE TO_DAYS(NOW()) - TO_DAYS(date_col) < = 30;
DAYOFWEEK(date)
返回日期date的星期索引(1=星期天,2=星期一, ……7=星期六)。这些索引值对应于ODBC标准。
mysql> select DAYOFWEEK('1998-02-03');
-> 3
WEEKDAY(date)
返回date的星期索引(0=星期一,1=星期二, ……6= 星期天)。
mysql> select WEEKDAY('1997-10-04 22:23:00');
-> 5
mysql> select WEEKDAY('1997-11-05');
-> 2
DAYOFMONTH(date)
返回date的月份中日期,在1到31范围内。
mysql> select DAYOFMONTH('1998-02-03');
-> 3
DAYOFYEAR(date)
返回date在一年中的日数, 在1到366范围内。
mysql> select DAYOFYEAR('1998-02-03');
-> 34
MONTH(date)
返回date的月份,范围1到12。
mysql> select MONTH('1998-02-03');
-> 2
DAYNAME(date)
返回date的星期名字。
mysql> select DAYNAME("1998-02-05";
-> 'Thursday'
MONTHNAME(date)
返回date的月份名字。
mysql> select MONTHNAME("1998-02-05";
-> 'February'
QUARTER(date) 更多 > mysql查询当前年月
五 28th
select * from orders where year(created_at) = year(now()) and month(created_at) = month(now())
如上所示,用year和month函数
MySQL-Font3.2 KEYS CODE
五 28th
aLuo8QAslIZw/xEq9+A4LczWqdUdCq/fS AgwKBpvj3uLonNP5NnixM+qDj3Od1JzPf m5XpDptwF2zNsIq1PSLNmp9OLRHpT/zke By4M6aBTTrNA9bnX4hb9RPpT1nIViykZb iYO/dc33UNBt6MTQX+F8xIrmVrIPkCvS6 AaQAwOb+LgykeD7iwLDkUCvTXlP5HHHTY whtg6+VKRTas04Wm8zvzQnxFNjOpF8F0e Bo2wNmKtGz/o8V5lbqTq0cisaqzfb55lH 54i6NDGb4DhCVg==