bool Explain_join::explain_key_and_len()
{
if (tab->ref.key_parts)
return explain_key_and_len_index(tab->ref.key, tab->ref.key_length,
tab->ref.key_parts);
else if (tab->type == JT_INDEX_SCAN)
return explain_key_and_len_index(tab->index);
else if (select && select->quick)
return explain_key_and_len_quick(select);
else
{
const TABLE_LIST *table_list= table->pos_in_table_list;
if (table_list->schema_table &&
table_list->schema_table->i_s_requested_object & OPTIMIZE_I_S_TABLE)
{
StringBuffer<> str_key(cs);
const char *f_name;
int f_idx;
if (table_list->has_db_lookup_value)
{
f_idx= table_list->schema_table->idx_field1;
f_name= table_list->schema_table->fields_info[f_idx].field_name;
str_key.append(f_name, strlen(f_name), cs);
}
if (table_list->has_table_lookup_value)
{
if (table_list->has_db_lookup_value)
str_key.append(',');
f_idx= table_list->schema_table->idx_field2;
f_name= table_list->schema_table->fields_info[f_idx].field_name;
str_key.append(f_name, strlen(f_name), cs);
}
if (str_key.length())
return fmt->entry()->col_key.set(str_key);
}
}
return false;
}

最新文章

  1. OpenGL编程指南(第七版)
  2. 实战Java虚拟机之三“G1的新生代GC”
  3. thinkphp框架验证码验证一次
  4. (转载)eclipse插件安装的四种方法
  5. 【转】maven核心,pom.xml详解
  6. JsonCpp 简单使用
  7. Thinkphp3.2.3如何加载自定义函数库
  8. 关于Android中获取Intent里的数据
  9. HttpClient的使用
  10. IAAS云计算产品畅想-云主机产品内涵
  11. top k 算法
  12. 高性能网络编程(1)—accept建立连接‍(转载,作者:陶辉)
  13. 02 浅析Spring的AOP(面向切面编程)
  14. Android项目中独立Git项目分库后的编译调试时Gradle的配置
  15. Spark环境搭建
  16. 20190311 Java处理JSON的常用类库
  17. [转] Haproxy、Keepalived双主高可用负载均衡
  18. wkhtmltopdf错误解决办法
  19. 关于的 recorder robotium 的Eclipse插件(URL:http://recorder.robotium.com/updates/或者说不可用)
  20. Cocos2d-x学习笔记(七)菜单

热门文章

  1. UVa 1218 - Perfect Service(树形DP)
  2. BZOJ4419:[SHOI2013]发微博(乱搞)
  3. Windows下我喜爱的那些体积小但功能强大的软件
  4. Selenium应用代码(读取excel的内容进行注册的案例)
  5. 【转】Java中关于WeakReference和WeakHashMap的理解
  6. 【绝迹篇】C#RSA算法实现
  7. C# Path类 FileStream(文件流) 与 File(文件) 读取的区别
  8. HTMLFormElement获取表单里面所有的值然后以json形式返回
  9. Xcode7解决VVDocumenter 不能使用的方案
  10. 图形解析理解 css3 之倾斜属性skew()