我正在尝试使用USER_AGENT来确定用户点击我的链接是否正在使用移动设备。每次点击都会在我的表格中创建一行,如果用户在移动设备上,我会尝试插入“1”,如果不是,则尝试插入“0”。
我提出了以下SQL语句。这会有用吗?有没有办法将所有这些案例合并为一行,因为它们都会产生相同的值(1)?我怎样才能优化速度?我愿意接受任何建议。谢谢!
INSERT INTO click_table(mobile_agent)
VALUES
(
CASE
when user_agent_string LIKE '%mobi%' THEN '1'
when user_agent_string LIKE '%iphone%' THEN '1'
when user_agent_string LIKE '%ipad%' THEN '1'
when user_agent_string LIKE '%android%' THEN '1'
when user_agent_string LIKE '%blackberry%' THEN '1'
when user_agent_string LIKE '%blazer%' THEN '1'
when user_agent_string LIKE '%bolt%' THEN '1'
when user_agent_string LIKE '%symbianos%' THEN '1'
when user_agent_string LIKE '%doris%' THEN '1'
when user_agent_string LIKE '%dorothy%' THEN '1'
when user_agent_string LIKE '%fennec%' THEN '1'
when user_agent_string LIKE '%gobrowser%' THEN '1'
when user_agent_string LIKE '%iemobile%' THEN '1'
when user_agent_string LIKE '%iris%' THEN '1'
when user_agent_string LIKE '%maemo%' THEN '1'
when user_agent_string LIKE '%mib%' THEN '1'
when user_agent_string LIKE '%minimo%' THEN '1'
when user_agent_string LIKE '%netfront%' THEN '1'
when user_agent_string LIKE '%mini%' THEN '1'
when user_agent_string LIKE '%semc%' THEN '1'
when user_agent_string LIKE '%skyfire%' THEN '1'
when user_agent_string LIKE '%teashark%' THEN '1'
when user_agent_string LIKE '%teleca%' THEN '1'
when user_agent_string LIKE '%uzardweb%' THEN '1'
when user_agent_string LIKE '%docomo%' THEN '1'
when user_agent_string LIKE '%vodafone%' THEN '1'
when user_agent_string LIKE '%playbook%' THEN '1'
else '0'
END
);